关于function对应的默认参数指定
//指定参数默认值 var fn1 = function(name='jack'){ console.log(name) } fn1('李四')//传参的时候 将识别你的参数 李四 fn1() //不传参使用默认的值 jack //箭头函数指定参数默认值 里面如果要指定参数默认值的话必须带上() var fn=(name='rose')=>{console.log(name)} fn() //打印默认值
关于幂次方取值 **
//求幂方 console.log(Math.pow(5,2)); //es6新增 ** 求幂方 console.log(5 ** 2);//5的2次方 25
方法简写及对象简写 属性名表达式以及函数名表达式(对象里面)
var obj = { name:'jack', fn(){ //方法简写 console.log(this.name); } } var newObj = new Object() //这个新对象里面要包含对应的obj newObj.obj = obj //第一个obj是属性名 第二个obj对应的对象 console.log(newObj.obj);//获取obj属性 //简写 var newObj = new Object() newObj = {obj} //利用对象的名字作为属性名 对象名和属性名一致的时候 console.log(newObj.obj) //拼接 let object = {} object['a'+'ge'] = 18 //内部支持拼接 console.log(object.age); object = { ['say'+'Hello'](){ //支持拼接表达式 写在[]里面 console.log("hello"); } } object.sayHello()
Object.is方法(判断是否为一个对象)
//object的静态方法 is方法 判断俩个对象是否是一个 ===恒等 //is方法和恒等的区别 === 和 Object.is方法的区别1 NaN===NaN为false Object.is(NaN,NaN)为true //区别2 +0===-0 为true Object.is(+0,-0)为false var str = 'a' var str1 = 'a' console.log(str===str1);//true console.log(Object.is(str,str1));//true console.log(NaN===NaN);//false console.log(Object.is(NaN,NaN));//true console.log(null === undefined); //false console.log(Object.is(null,undefined));//false var i = +0 var j = -0 console.log(i === j); //true console.log(Object.is(i,j));//false
Object.assign方法(对象合并)
//Object.assign 静态方法 提取对象所有的属性及方法,方法合并为一个对象 返回一个新对象 var newObj = Object.assign({a:'a'},{b:'b'},{c:'c'}) console.log(newObj); //{a:'a',b:'b',c:'c'} var a = { click(){ console.log('hello'); } } var b = { handlerClick(){ console.log('hello'); } } console.log( Object.assign(a,b));