Javascript的typeof返回哪些数据类型;列举3种强制类型转换和2中隐式类型转换
-
1)返回数据类型 undefined string boolean number symbol(ES6) Object Function
2)强制类型转换 Number(参数) 把任何类型转换成数值类型。 parseInt(参数1,参数2) 将字符串转换成整数 parseFloat()将字符串转换成浮点数字 string(参数):可以将任何类型转换成字符串 Boolean() 可以将任何类型的值转换成布尔值。
3)隐式类型转换 1.四则运算 加法运算符+是双目运算符,只要其中一个是String类型,表达式的值便是一个String。 对于其他的四则运算,只有其中一个是Number类型,表达式的值便是一个Number。 对于非法字符的情况通常会返回NaN: ‘1’ * ‘a’ // => NaN,这是因为parseInt(a)值为NaN,1 * NaN 还是 NaN
2.判断语句 判断语句中的判断条件需要是Boolean类型,所以条件表达式会被隐式转换为Boolean。 其转换规则同Boolean的构造函数。比如: var obj = {};if(obj){ while(obj);}
3.Native代码调用 JavaScript宿主环境都会提供大量的对象,它们往往不少通过JavaScript来实现的。 JavaScript给这些函数传入的参数也会进行隐式转换。例如BOM提供的alert方法接受String类型的参数: alert({a: 1}); // => [object Object]