typeof '11' //string typeof(11) //number '11' < 4 //false
//隐式转换 + - * == / // + 10 + '20' //'2010' // - 10 - '20' //-10 10 - 'one' //NaN 10 - '100a' //NaN // * 10*'20' //200 '10'*'20' //200 // / 20/'10' //2 '20'/'10' //2 '20'/'one' //NaN
// == undefined == null; //true '0' == 0; //true,字符串转数字 0 == false; //true,布尔转数字 '0' == false; //true,两者转数字 null == false; //false undefined == false; //false
Math.sqrt(-2)
Math.log(-1)
0/0
parseFloat('foo')
console.log(typeof NaN); // 'Number'
var x = Math.sqrt(-2); var y = Math.log(-1); console.log(x == y); // false
var x = Math.sqrt(-2); var y = Math.log(-1); console.log(x === y); // false
console.log(NaN === NaN); // false
console.log(isNaN(NaN)); // true
console.log(isNaN('hello')); // true
console.log(isNaN(['x'])); // true
console.log(isNaN({})); // true
var My = {
isNaN: function (x) { return x !== x; }
}
console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN(Math.sqrt(-2))); // true
console.log(Number.isNaN('hello')); // false
console.log(Number.isNaN(['x'])); // false
console.log(Number.isNaN({})); // false
0 == []; // true, 0 == [].valueOf(); ---> 0 == 0; '0' == []; // false, '0' == [].toString(); ---> '0' == ''; 2 == ['2']; // true, 2 == ['2'].valueOf(); ---> 2 == '2' ---> 2 == 2; '2' == [2]; // true, '2' == [2].toString(); ---> '2' =='2'; [] == ![]; //true, [].valueOf() == !Boolean([]) -> 0 == false ---> 0 == 0;
var valueOf = function (){
var str = this.toString(); //先调用toString(),转成字符串
//...
}
0 == []; // true, 0 == [].valueOf(); -> 0 == '0' -> 0 == 0;
var a = [1];
a.valueOf = function (){ return 1;}
a.toString = function (){ return '1';}
a + 1; // 2, valueOf()先调用
var a = [1];
a.valueOf = function (){ return 1;}
a.toString = function (){ return '1';}
a + 1; // 2, 先调用valueOf()
//去掉valueOf
delete a.valueOf;
a + 1; // '11', 调用toString()
var a = [1];
a.valueOf = function (){return ;}
a.toString = function (){return 1 ;};
1 - a; //NaN
var a = {};
a.valueOf(); //Object {}
var a = [];
a.valueOf(); //[] 自己本身
var a = new Date();
a.valueOf(); //1423812036234 数字
var a = new RegExp();
a.valueOf(); // /(?:)/ 正则对象
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有