.apply、call、bind他们三个都能改变函数this的指向问题;
// 2.apply、call这两个方法的主动调用,bind返回的是改变this指向后的新函数;
// 3.传参的问题区别,call和bind都是直接传递参数,apply传递的是数组
Function.prototype.callNew = function(content,...sum){
console.log(!content);
if(!content|| context === null|| context === undefined){
context = window;
}
let fn = Symbol();
content[fn] = this;
return content[fn](...sum);
}
1. 当访问一个对象的属性或方法时,首先查找这个对象自身有没有
// 2. 如果没有就查找它的原型(也就是 __proto__ 指向的prototype 原型对象 )
// 3. 如果还没有找到就查找原型对象的原型(Object的原型对象)
// 4. 依次类推一直找到Object为止( null )
// 5. __proto__ 对象原型的意义就在于为对象成员查找机制提供一个方向,或者说一条线路