1. 首页 > 知识

js中对象转化成字符串、数字和布尔值方法介绍(示例)

js中对象转化成字符串、数字和布尔值方法介绍(示例)

本篇文章给大家带来的内容是关于js中对象转化成字符串、数字和布尔值方法介绍(示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。一、对象转化成字符串:规则:1、如果对象有toString方法,则调用该方法,并返回相应的结果;(代码通常会执行到这,因为在所有对象中都有toString方法)2、如果对象有valueOf方法,则调用该方法,并返回相应的结果;3、否则抛出异常。
通常,所有对象都有toString方法,且内置对象都有自己toString方法的实现alert( {key: 'value'} ) // [object Object]
alert( [1,2] ) // "1,2"
alert( new Date() ) // "Sat Sep 15 2018 15:58:01 GMT+0800 (中国标准时间)"在界面输出中, 比如 alert() 和 document。
write() ,将优先调用 toString,如果过得不到 标量 或 undefined、null ,再尝试 valueOf ,如果仍然返回对象则报错。
其实 parseInt()、 alert()、 document。
write() 这些函数的调用中,参数所进行的类型转换,应当视为"被动的" , 是函数的实现方式使之优先调用 toString, 而非数据对象自动调用 toString。可以自定义toString()var obj = { age:23, toString:function(){ return this。
age; }}obj。toString();//23二、对象转化成数字需要转化成数字的两种主要情况:函数里边的参数需要是数字,如: Math。sin(obj) / isNaN(obj) 以及算术运算符: +obj ;用于比较,如:obj == 'John'PS:下面两种比较不会发生类型转换。
a)在严格比较(===)中,不会发生任何的类型转换。b)在非严格比较中,如果参数都是对象,不会发生类型转换,通常,如果两个对象引用统一对象,则返回true。转化成数字的规则:1、如果对象有valueOf方法,则调用该方法,并返回相应的结果;2、当调用valueOf返回的依然不是数字,则会调用对象的toString方法,并返回相应的结果;3、否则抛出异常。
对象的valueOf方法返回的是对象本身,而不是字符串(比如数组、函数,它们的valueOf方法是从Object。prototype上继承下来的,默认行为是返回对象本身),所以才会采用toString对于对象型参与 算术运算和 "==" 运算, 不等于比较元算(> 、<、>=、<=),自动发生数据类型转换,先调用 valueOf ,如果 valueOf 不能返回标量(number、string、boolean) 和 undefined、 null 。
将继续调用 toString, 如果仍然返回对象型数据,报错。Date 类型的例外: 在 + 和 == 运算中,优先 toString ,这应该是规范对该数据类型的特殊对待。补充:调用valueOf()的结果:参数类型 返回结果Undefined抛出TypeError异常Null抛出TypeError异常Number创建一个Number对象,它内部的初始值为传入的参数值String创建一个String对象,它内部的初始值为传入的参数值Boolean创建一个Boolean对象,它内部的初始值为传入的参数值Object对象本身可以重写对象的valueOf()方法(百度一道面试题,定义一个对象,使obj == '1' ,结果为true):var obj = { valueOf: function(){ return 1; }};console。
log(obj == '1');//true三、对象转化成布尔值:对象在JS中总是返回true根据上述,对象在相等性判断中如何转变?在布尔上下文中, a是true , b是false,a == b,这是可能的 。[] == ![] //true内部的转化步骤:1、右边是![],将会被转换成一个布尔值,[]为true,取非为false,此时表达式变成:[]==false;2、按照规则,右边是布尔值,将false转换成0,左边是数组,数组也将进行数字转换,先调用valueOf(),不能转化成原始值,再用toString(),转换为00 == 03、结果为true补充 == 和!=判断规则(注意: ===!== 和 对象==对象 这三种情况不会进行类型转换):如果有一个操作数是布尔值,则在比较相等性之前先将其转换为数值----false转化为0,true转化为1;如果有一个数是字符串,另一个操作数是数值,将字符串转化成数值;如果一个操作数是对象,另一个操作数不是对象,将对象转化为基本操作类型(先valueOf()再toString(),均不能得到基本类型的值则会报错),再比较。
所以,对象在相等性判断中:若两边都是对象,不会进行类型转换,为同一个引用才会返回true若只有一边为对象,则会先调用对象的valueOf()方法,不能返回基本类型,再调用对象的toString()方法,还是不能就会报错,否则用转化后的基本类型值继续进行判断举例,感受下~:[]==[]//false[]==false//true![]//true[]==![]//true总结:在JavaScript中,对象有三个转换,这取决于具体情况:字符串输出,使用toString 。
数字:数学函数,操作符,使用valueOf 后使用 toString 。布尔值:转化为true。

相关推荐

  • 想申请组合贷款买房,请需要什么条件?

    想申请组合贷款买房,请需要什么条件?

    组合,贷款,银行,条件,办理,想用组合贷款的方式买房,能详细解答一下组合贷款如何申请吗?组合贷款简而言之,就是公积金贷款和商业贷款同时使用,一般是在个人贷款超过当地规定的公积金贷款的高上限才使用的。申请方法:申请组合贷款,初审手续与公积金贷款相同。初审通过后,借款人到银行办理公积金贷款其它手续时,要按照银行要求填写商业贷款部分的借款申请表并办理有关手续。两部分贷款审批完成后,同时由银行拨付到售房单位账户。在组合贷款中,公积金贷款和商业贷款...

  • 我是一名国企公司职员,想贷款2万买房,请需要些什么条件

    我是一名国企公司职员,想贷款2万买房,请需要些什么条件

    贷款,条件,国企,公司,经济,你好,我是一名国企公司职员,想贷款2万买房,请问需要些什么条件呢?求解答。一、 贷款对象:1、具有完全民事行为能力的中国公民及在中国大陆有居留权的境外、国外公民;2、交齐首期购房款(不低于购房总额的30%);3、有稳定的经济收入,具备偿还贷款本息的能力;4、同意以所购房产作为借款抵押。二、 具备下列条件:1、持有合法的户口簿(不限本市)、身份证或营业执照,法人代表证明或合法居留证、护照,在本市购买银行指定发展...

  • 上海组合贷款如何办理?

    上海组合贷款如何办理?

    贷款,组合,银行,上海,方法,想在上海买一套房,申请组合贷款,请问需要什么条件呢?组合贷款是住房资金管理部门运用政策性住房资金、商业银行利用信贷资金向同一借款人发放的贷款,是政策性贷款和商业性贷款组合的总称。申请方法:申请组合贷款,初审手续与公积金贷款相同。初审通过后,借款人到银行办理公积金贷款其它手续时,要按照银行要求填写商业贷款部分的借款申请表并办理有关手续。两部分贷款审批完成后,同时由银行拨付到售房单位账户。在组合贷款中,公积金贷款...

  • 在浙江申请二手房贷款需要什么条件?

    在浙江申请二手房贷款需要什么条件?

    贷款,房款,公司,对象,能力,想在浙江买一套二手房,但是只有首付,请问如何申请二手房贷款,需要什么要求?下面为你介绍一下浙江申请二手房贷款的相关信息1、二手房贷款的适用对象(1)已经支付了部分房款,但缺少继续支付剩余二手房房款能力的购房人。(2)各类中介公司、物业公司和开发商。2、二手房贷款的范围二手房贷款的其范围包括业主在房地产二级市场上购买的自用房,包括商品房、私房以及允许上市交易的已购公房、经济适用房。3、二手房房贷所应提交的材料(...

  • 个体贷款好申请吗?需要什么条件?有哪些方法?

    个体贷款好申请吗?需要什么条件?有哪些方法?

    方法,贷款,有哪些,条件,个体,没有工作单位,是个体,但是有稳定的收入,请问申请贷款需要什么条件呢?你好,个体户办理贷款是很困难的。但是还是有些方法可以申请成功的。下面就为你介绍三种方法方法一、抵押贷款无论是房产还是汽车,能够提供抵押的并且具有抵押贷款资格的,借款人就可以用其来抵押贷款。个体户抵押贷款需要借款人具有抵押物的同时,还要有一定的还款能力。方法二、营业执照贷款个体户向贷款机构提供营业执照、银行流水和个人身份证明,即可申请到贷款。...

  • 餐饮企业如何贷款?

    餐饮企业如何贷款?

    贷款,抵押物,方法,银行,金额,你好,我开了一家私人的饭店,有营业执照,现在想再开一家分店,请问如何贷款呢?需要什么条件手续呢?谢谢解答。你可以选择抵押贷款,这是银行最青睐的一种贷款方法。尽可能寻找法律认可的抵押物(住宅,商铺为佳),然后银行贷款一般是在你所提供抵押物的70-80%左右,如果无法提供足额抵押物的话,可以考虑做一个组合贷款,抵押+AUM(根据你银行卡的流水金额来核定一个贷款数额)+POS(根据你们店面里安装的pos机的流水来...

  • 银行汽车按揭贷款条件要满足哪些

    银行汽车按揭贷款条件要满足哪些

    条件,银行,贷款,收入,对象,想申请汽车抵押贷款,请问需要的条件和所要提交的材料有哪些?申请汽车按揭贷款需要满足的条件如下:1. 贷款对象须是年满18 周岁,具有完全民事行为能力的中国公民;2. 具有贷款行所在城市行政管辖区域的有效身份证明,有长期稳定的居所和相对稳定的工作;3. 具有稳定的合法收入,且月均还款额(含家庭各类负债总额)/ 家庭月收入≤ 50%;4. 个人信用状况良好;5. 能够支付本办法规定的首付款;6. 所购车型以个人、...

  • 房屋商业贷款可以转公积金吗?

    房屋商业贷款可以转公积金吗?

    办理,担保,有什么,余额,方法,一开始房屋买的时候用的是商业贷款,现在想转成公积金贷款,请问有什么方法呢?商业贷款转公积金贷款目前有两种办理方式,一种是先还后贷方式,另一种是以贷冲贷方式。先还后贷方式是指已办理商贷的职工向中心申请商业贷款转公积金贷款,经中心同意后,职工以自筹资金还清商贷并办理担保手续后,中心再发放商业贷款转公积金贷款。以贷冲贷方式是指已办理商贷的借款人向中心申请商业贷款转公积金贷款,经中心同意后,借款人将商贷本息余额大于...

  • 个体户申请贷款要什么条件?

    个体户申请贷款要什么条件?

    条件,登记,贷款,对象,清晰,你好,我在老家开了一个小店铺,有营业执照,现在想向银行申请贷款20万,请问个体户怎么申请贷款呢?你可以办理个体户房产抵押贷款。他指个体工商户人士提供权属清晰的房产作为贷款抵押担保,适用对象:在当地有固定住所、有常住户口或有效居住证明、具有完全民事行为能力、在工商行政机关登记并领取个体工商户营业执照、有固定经营场所的自然人。这主要考察你的结算信用和借款信用,还有商业信用,财务信用,纳税信用。...

  • 应急贷款申请条件?一定要求抵押吗?

    应急贷款申请条件?一定要求抵押吗?

    放贷,应急,贷款,条件,对象,我是浙江金华,农村户口急需3W周转生意,10天可还,没有抵押,怎么贷款?一定要有抵押才能贷款吗?应急借款放贷对象为个人的:放贷额度为1万-50万,期限1月-3年,凭本人有效证件如身份证复印件,及详细地址申请。贷款要求:无不良信誉记录,必须要有一定的经济基础和具备的偿还能力。应急借款放贷对象为个体户的,放贷额度为1万-100万,期限为1季-5年,凭工商营业执照,税务登记证,及身份证的复印件申请。贷款要求:有固定...

  • 请申请汽车贷款需要满足什么条件和要求?

    请申请汽车贷款需要满足什么条件和要求?

    条件,贷款,收入,利息,对象,想买一辆车,但是资金不足,请问如何办理汽车抵押贷款?需要满足什么条件?申请汽车贷款的人需要满足以下条件1. 贷款对象须是年满18 周岁,具有完全民事行为能力的中国公民;2. 具有有效身份证明、固定和详细住址;3. 具有稳定的合法收入,有能力偿还贷款的本金和利息;4. 个人信用状况良好;5. 能够支付本办法规定的首付款;6. 贷款银行要求的其他条件。...

  • 住房公积金贷款吗可以用于自建房吗?

    住房公积金贷款吗可以用于自建房吗?

    购买,用于,楼盘,企业开发,产权,单位一直在缴纳住房公积金贷款,想用这笔钱申请贷款用于自建房,请问这种情况可以吗?这种情况是可以的,自建房是可以用公积金贷款的。住房公积金的贷款对象为:1、购买房地产企业开发的楼盘,需要购房贷款的。2、购买按规定可出售的公有住房,需要购房贷款的。3、购买房地产交易市场具有产权的二手住房,需要购房贷款的;4、因在本市城镇建造、翻建、大修自住住房,需要建房贷款的;5、为配合政府深化住房制度改革,经银行认可的其他...