本文目录一览:
- 1、javascript 隐式转换问题 “true” == true
- 2、Javascript的typeof返回哪些数据类型?
- 3、js面试题,3种强制类型转换和2种隐式类型转换是什么
- 4、js数组怎么隐式转化成number
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的typeof返回哪些数据类型?
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]
js面试题,3种强制类型转换和2种隐式类型转换是什么
三种强制类型转换:String(),Boolean(),Number();
(还有两个:parseInt和parseFloat 应该也算吧)
2种隐式类型:+和-
js数组怎么隐式转化成number
可以通过以下3种方法来将string值转换成number:
1.调用Number()来对string进行值类型转换。
2.parseInt()。
3.parseFloat()。
Number()
使用Number()函数来对string进行强制类型转换是最直接的做法。不过,这种做法有一个局限性:如果字符串截去开头和结尾的空白字符后,不是纯数字字符串,那么最终返回结果为NaN。
代码如下:
var a = ” 42″;
var b = ” 42mm”;
var c = “0xff”;
var d = “42.34”;
console.log(Number(a));//42
console.log(Number(b));//NaN
console.log(Number(c));//255
console.log(Number(d));//42.34
parseInt()
原创文章,作者:CCDW,如若转载,请注明出处:https://www.506064.com/n/143256.html