Javascript 或与非的区别

1.在js逻辑运算中,0、""、null、false、undefined、NaN都会判为false,其他都为true

2.测试 typeof 5和typeof !!5的区别

 console.log(typeof 5);      //number     
console.log(typeof !!5);    //boolean  !!的作用是把一个其他类型的变量转成的bool类型

 3.||和&&都遵循“短路”原理,如&&中第一个表达式为假就不会去处理第二个表达式,而||第一个表达式为真就不会去处理第二个表达式

  var attr = true && 4 && 'aaa';     console.log(attr);      //aaa

 4. 这个运算经常用来判断一个变量是否已定义,如果没有定义就给他一个初始值,这在给函数的参数定义一个默认值的时候比较有用

 var attr = attr || ''   //aaa     var attr1 = attr1 || ' '     console.log(attr1);      var a=7     if(a >=5){         alert("你好");         }     //可以写成:     var  b=7     b >= 5 && alert("你好");

5.string类型不能直接通过下标改变单个字符值,可以通过replace方法改变

var str='abcdef' //str.charAt(3)='e';            //报错 var str1=str.replace('d','e')   //abceef replace方法存在返回值,不改变原数组

6.shift()分割数组:方法用于把数组的第一个元素从其中删除,并返回第一个元素的值,改变原数组

var arr=[1,2,3,4,5] var arr1=arr.shift(); console.log(arr);   // [2, 3, 4, 5] console.log(arr1);  //1 console.log(typeof arr1);  //number

 


版权声明:本文为huhuhuja原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。