创建元素的三种方法:
1,document.write()弊端只能在body区域添加标签
2,InnerHTML弊端:会覆盖原来的元素
3,Document.createElement(‘标签名’)
IsNaN判断是否是非数值
NaN非数值
Number,isNaN用于判断传入的是否是非数值(除了NaN返回都是false)(不会隐式类型转换)
隐式类型转换:false(0),null(0)undefined(NaN)
Number.isFinite函数:,用来检查一个数值是否是非无穷(有限的数值,返回为true)
先判断是否为数字类型,如果不是数字类型直接返回为false
(不会隐式类型转换)
Number.parseInt函数 parseInt函数:解析一个字符串,返回一个整数
Number.isInteger函数 用来判断是否是整数
Math.truhc函数,用于去除一个数的小数部分,返回整数部分
Math.sign函数 ,用于判断一个数到底是正数,负数,还有0
正数的话返回1,负数的话返回-1.0则返回0
对象的使用:
1:如果对象的属性名,和变量名一样,可以省略对象的属性值
2:在对象函数中可以省略:function
3:表达式可以做为对象的属性名
Object.is函数 :比较两个值是否严格相等,或者说全等相当于===
重点!!!!
Object.assign(目标对象,源对象,源对象)函数作用:将源对象的属性值赋到目标对像上
(只要有一个目标对象,但可以有很多源对象,都赋值到目标对象上,源对象的值会覆盖掉目标对象的值(相同时))
深拷贝的5种方法:for循环,slice(截取)concat(拼接)array.From …扩展运算符
Symbol的初衷:
解决对象的属性名冲突
1:声明symbol
2:symbol是独一无二的
3:遍历用for
4:Object.getOwnPropertySymbols 函数 获取对象中的symbol属性名
5:Reflect.ownKeys 函数 获取所有的属性
6:Object.keys()属性名 Object.value()属性值 获取对象中除了symbol的属性
7:symbol.for()函数 函数作用:根据参数名,去全局环境中搜索,是否有以该symbol.for()
扩展运算符;
…数组/对象
1:遍历数组
2:当作数组中的元素
3:深拷贝
4:函数的调用
5:与解构赋值结合
6:转换成真正的数组(array.from)
7:对象 扩展运算符