JavaScript的小技巧

类型转换

数组转字符串

var arr = [1,2,3,4,5];
var str = arr+''; //1,2,3,4,5

字符串转数字

var str = '777';
var num = str * 1; //777

var str = '777';
var num = str - 0; //777

字符串转数字

var str = '666';
var num = str * 1; // 666

向下取整

var num = ~~4.2144235; //  4

var num = 293.9457352 >> 0; // 293

boolean 转换

var bool = !!null; //  false
var bool = !!'null'; // true

var bool = !!undefined; // false
var bool = !!'undefined'; // true

var bool = !!0; // false
var bool = !!'0'; // true

var bool=!!''; // true
var bool=!![]; // true
var bool=!!{}; // true

var bool=!!new Boolean('false'); // true
var bool=!!new Boolean('true'); // true

判断对象下面是否有此属性

直接判断

var obj = {a:789};
if(obj.a){ //obj.b ==>789
console.log('运行了') //可以运行
}

if(obj.b){ //obj.b ==>undefined
console.log('运行了') //没有运行
}

var obj2 = {a:false};
if(obj2.a){ //obj.b ==>false
console.log('运行了') //没有运行
}
// 不严谨,如果值为0,undefined,false,null... 也会判断为false

in 操作符

var obj = {a:789};
if('a' in obj){ // 'a' in obj ==>true
console.log('运行了') //可以运行
}

if('b' in obj){// 'a' in obj ==>false
console.log('运行了') //没有运行
}

利用hasOwnProperty

var obj = {a:789};
if(obj.hasOwnProperty('a')){ //==>true
console.log('运行了') //可以运行
}

if(obj.hasOwnProperty('b')){ //==>false
console.log('运行了') //没有运行
}

还有好多好多,得慢慢写

原文:https://zhuanlan.zhihu.com/p/368353172

0 个评论

要回复文章请先登录注册