Javascript面试题-类型转换

以下代码执行返回什么结果?

console.log(1+"true"); 	     // 1true , 进行字符串连接
console.log(1+true );        // 2 , true变为1
console.log(1+undefined );   // NaN , undefine(未定义)不是数字
console.log(1+null );        // 1 , null是空值
donsole.log("2">10);         // false , 字符串2转化成数字类型
donsole.log("2">"10");       // true , 字符串比较第一个2的ASCII值大于1
donsole.log("abc">"b");      // false , 字符串比较第一个a的ASCII码值小于b
donsole.log("abc">"aad");    // true , 第一个相等就比较第二个b大于a
donsole.log( NaN=NaN );      // false , NaN(Not a Number)是一个特殊类型 代表不是数字 是一个范围 没有确切的值 
consol.log (undefined=null); // true , null和undefined比较时不会进行类型转换但是他们相等,因为undefined派生于null

重点

  1. null 表示无值
  2. undefiined 表示未定义,一个函数没有返回值 ,或已声明但未赋值的变量,或一个不存在的对象属性。
  3. nullundefined比较时不会进行类型转换但是他们相等,因为undefined派生于null
  4. 为什么NaN!=NaN?
发布了18 篇原创文章 · 获赞 0 · 访问量 278

猜你喜欢

转载自blog.csdn.net/iTaylorfan/article/details/103392247