最新回答 / 宝慕林1151284
首先Student.prototype 不会指向 Person.prototype;而是Student.prototype._proto_指向Person.prototype。也不存在直接指向 Person;他们之间的继承是通过原型链,一一往上继承使用的。这不是严格像Java那样继承,感觉是这样继承的形式,本质上还是有区别的。
2017-05-12
bind与currying的例子改成这样可能更易理解:使用bind()方法使函数拥有预设的初始参数,这些参数会排在最前面,传给绑定函数的参数会跟在它们后面~
function add(a,b,c){console.log(a,b,c);}
var func=add.bind(undefined,100);
func(1,2);
//100 1 2
var func2=func.bind(undefined,200);
func2(10);
//100 200 10
function add(a,b,c){console.log(a,b,c);}
var func=add.bind(undefined,100);
func(1,2);
//100 1 2
var func2=func.bind(undefined,200);
func2(10);
//100 200 10
2017-05-12
hasOwnProperty:用于检查给定的属性在当前对象实例中,而不是在实例的原型中 是否存在
this -> 当前上下文
this -> 当前上下文
2017-05-12