JavaScript显式类型转换与隐式类型转换(转)

本文是一片转载文章,但只会贴出重要内容。

JavaScript中声明变量不需指定类型, 对变量赋值也没有类型检查,同时JavaScript允许隐式类型转换。
这些特征说明JavaScript属于弱类型的语言。

强制类型转换

通过String(),Number(),Boolean()函数强制转换

   var str=123;
   var str1='123';
   console.log(typeof str);   //number
   console.log(typeof str1);   //string
   console.log(typeof String(str));   // string
   console.log(typeof Number(str1));   //number

隐式转换

JavaScript的数据类型分为六种,分别为null,undefined,boolean,string,number,object。
object是引用类型,其它的五种是基本类型或者是原始类型。
隐式转换记住以下三点:
1.字符串数字,数字就会转成字符串
2.数字字符串,字符串转成数字
如果字符串不是纯数字就会转成NaN。
字符串减数字也一样。
两个字符串相减也先转成数字
3.乘,除,大于,小于跟减的转换也是一样

console.log(10+'20') //2010 String
console.log(10-'20')//-10 number
console.log(10-'one') //NaN not a number
console.log(10-'101a') //NaN
console.log(10*'20') //200 number
console.log('10'*'20') //200 number
console.log(20/'10') //2 number
console.log('20'/'10') //2 number
console.log('20'/'one') //NaN

你可能感兴趣的:(JavaScript)