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