快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

javascript隐式的简单介绍

javascriptjavascript隐式数据类型有哪些

没有隐式数据类型

望城网站建设公司成都创新互联公司,望城网站设计制作,有大型网站制作公司丰富经验。已为望城1000多家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的望城做网站的公司定做!

只听说过隐式数据类型转换

因为Javascript里变量使用Var声明

所以当var num = 1;

和var str = "";相加时,就会涉及两个数据怎么相加的问题,需要做一个隐式类型转换,结果为"1"

Js隐式转换

1 .if 判断,其余类型转为布尔类型

2 .比较操作符 ==

3 .+,-

4 . 点 号操作符

5 .在对数字,字符串进行点操作方法时,默认将数字,字符串转成对象

5 .关系符比较的时候

1 .

1 .null 转为“null”

2 .undefined 转为 “undefined”

3 .Boolean true转为“true”,false转为“false”

4 .number :11 转化为“11”,11e20 科学计数法转为“1.1e+21”

5 .数组,空数组转为字符串“”,如果数组中有null,或者undefined,同样当作空字符串处理,[1,2,3,4]="1,2,3,4"

6 .函数function a(){}转为字符串为 “function a(){}”

7 .一般对象:“[object,object]”

8 .NaN "NaN"

1 .只有null,undefined,0,false,NaN,空字符串,这6种情况转为布尔值的结果为false,其余都是true

2 .转换为布尔值得场景

1 .null 0

2 .undefined NaN

3 .Boolean true 1,false 0

4 .字符串:纯数字的字符串,转为对应的数字,空字符串转为0,其余都是NaN

5 .数组,数组首先会被转换为原始类型,然后根据上面的原始类型转换规则进行转换

6 .对象,和数组一样 {}=NaN

7 .NaN NaN

1 .Data对象会先调用toString

2 .当对象转为其他原始类型时,会先调用对象的valueOf方法,如果valueOf方法返回的是原始类型,直接返回这个原始类型

3 .返回的不是原始类型,或者valueOf方法不存在,继续调用toString()方法。如果toString()返回的是这个原始类型。直接返回这个原始类型,如果不是原始类型,直接报错

1 .将一个值转换为他为真正的布尔值

2 .!![] false ![]==true

1 .字符串和数字类型相比较的时候,字符串会被转换为数字类型

2 .布尔值和其他类型值比较

3 .null ,undefined 和其他类型的比较

4 .js规定null,undefined宽松都与自己相等,但是与其它值都不相等

1 .会把对象按照对象转换规则转换成原始类型,再次比较

1 .如果两个对象指向同一个对象,相等操作符返回true,否则返回 false

1 .字符串连接符的情况

javascript 隐式转换问题 "true" == true

== 判断规则:

如果两个值类型相同,进行 === 比较。

如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:

如果一个是null、一个是undefined,那么[相等]。

如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。

如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。

果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。js核心

内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。非js核心的对象,令说(比较麻烦,我也

不大懂)

任何其他组合,都[不相等]。

特别需要注意的是true、false的转换,例如:

alert(true == 1); //ture

alert(true == 2); //false, true会转换成number,也就是1,当然 1 不等于 2

//可以使用 !! 来把一个数据类型转换为boolean型

alert(true == !!2) //true,!2 === false !(!=2) = !false = true

另外在js中,如果把一个变量用在逻辑运算中,那么变量在无初始值或者其值为 0、-0、null、”"、false、undefined 或者 NaN时,它的值为 false。否则,其值为 true。


文章标题:javascript隐式的简单介绍
当前地址:http://6mz.cn/article/phcdgj.html

其他资讯