ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码

js隐式转换个人总结

来源:网络整理     时间:2015-05-30     关键词:

本篇文章主要介绍了"js隐式转换个人总结",主要涉及到方面的内容,对于Javascriptjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下: 隐式转换在js中通常可以通过parseInt(), Number(), String(), Boolean()等函数转换成对应的数据类型, 但通常为了简便, ...

隐式转换在js中通常可以通过parseInt(),  Number(), String(), Boolean()等函数转换成对应的数据类型, 但通常为了简便, 我们会用特殊的写法进行转换, 比如:

var a = 5;
console.log( a + '' );    // 输出'5', 将number类型转成string类型

//这里是将string转换成number类型

console.log( +'56' );    //输出 56, 等价于Number(a)
console.log( -'56 );     //输出-56

console.log( +'' );      //0
console.log( +'34A' ); // 输出NaN 
console.log( -'34A' ); // 输出NaN
console.log( parseInt('34A', 10) ); //输出34; 
//parseInt第二个参数最好传入10, 如果不传, 在ES3中, 默认是转换成8进制

console.log( +[] );    //0 

//将string或number转成boolean值

console.log( !5 );      //false, 此过程会先将5转成true, 然后取非
console.log( !!5 );     //true, 等价于Boolean(5)
console.log( !!'2' );   //true
console.log( !!'' );    //false
console.log( !!0 );     //false
console.log( !![] );    //true
console.log( !!{} );    //true
console.log( !!null );      //false
console.log( !!undefined ); //false
console.log( !!/abc/g  );   //true

总结:

  1. 任何数据类型和字符串相加, 得到的都是字符串.
  2. 只有空数组(如果数组中有一个元素, 且这个元素也只能被转成0),  空字符串, 全是空格的字符串,  false 才会被转成0, 其他的看情况
  3. 只有null, undefined, 空字符串, 0, NaN才会被转成false, 其他全是true
  4. 如果你能确保字符串是由纯数字组成, 可以在前面用"+"将其转换成number类型, 省时省力.(jquery中不少这种写法)
  5. 判断语句中还是用 === 来进行严格判断, 避免不必要的麻烦

因此, [] == ![] 得到的是true,  因为右边的 ![] 会被先转换成 false, 然后因为是==且两边数据类型不一样, 所以两边会被转成number进行比较, 左边的[]转成number是0, 右边false也转成0, 所以相等返回true

需要注意一点:  null == undefined 比较中得到的是true

以上纯属个人总结,  如有错误, 欢迎指正.

以上就介绍了js隐式转换个人总结,包括了方面的内容,希望对Javascriptjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_138712.html

相关图片

相关文章