Object.keys()
- 得到一个新数组
let obj = {'a':0,'b':1,'c':2}Object.keys(obj) //['a','b','c']Object.keys(obj).forEach(key=>{console.log(key)//'a'//'b'//'c'})
Object.assign()
- 浅拷贝,复制对象的可枚举属性 ```javascript const target = { a: 1 };
const source1 = { b: 2 }; const source2 = { c: 3 };
Object.assign(target, source1, source2); target // {a:1, b:2, c:3}
<a name="EgEjE"></a>#### call,apply,bind- 改变this指向,如果没有提供obj参数,那么Global对象被用于obj- 存在的意义:实现(多重)继承- 只能继承父类函数的方法和属性,而不能继承原型对象的方法和属性```javascript//A对象应用B对象的方法:B.call(A, args1,args2);B.apply(A, arguments);B.bind(A, args1,args2)();var name='小张',age=17;var obj={name:'小刘',objAge:this.age,myFun:function(){console.log(this.name + '年龄:' + this.age)},myFun1:function(fm,t){console.log(this.name + '年龄:' + this.age,'来自'+fm+'去往'+t);}}var db={name:'德玛',age:99}obj.myFun() //小刘年龄:undefinedobj.myFun.call(); //小张年龄:17 --obj.myFun.apply();obj.myFun.bind()();结果亦是obj.myFun.call(db) //德玛年龄:99 --obj.myFun.apply(db);obj.myFun.bind(db)();结果亦是obj.myFun.call(db,'江西','深圳') //德玛年龄:99 来自江西去往深圳obj.myFun.apply(db,['江西','深圳']) //德玛年龄:99 来自江西去往深圳obj.myFun.bind(db,'江西','深圳')() //德玛年龄:99 来自江西去往深圳obj.myFun.apply(db,['江西','深圳'])() //德玛年龄:99 来自江西,深圳去往undefined
