1、数据类型
原始类型undefined null number string boolean symbol bigint
引用类型 对象
2、大厂为什么不允许赋值undifined?
必须let a=void 0;效果一样
void是关键字,后面跟表达式,无论跟啥最终制造undefined,但是习惯写0。
因为在js里面undefined压根不是关键字,而是window.undefined,window的一个属性,可能是js设计缺陷。
window.undefined=1,不可以,因为是只读属性。
因为undefined不是关键字,
function m(){
let undefined=1;
let a=undefined;
}
于是bug出现了
3、随机颜色
‘#’+Math.random().toString(16).substring(2,8)
会存在位数不够的问题,if判断
#'+‘0’.toString(16).substring(2,8)
4、判断对象中是否存在某个属性
function hasProperty(key,obj){
return key in obj;
}