var o={f:function () {
return this.a+this.b;
}}
var p=Object.create(o);
p.a=1;
p.b=4;
console.log(p.f());感觉看到这里好像当初自学JAVA的场景 解释是创建一个对象字面量o 包含着f方法
用Object.create(o)以o为原型 创建一个对象p指向对象o 给p添加两个属性a,b分别赋值 p会继承o的方法调用就知道结果了
return this.a+this.b;
}}
var p=Object.create(o);
p.a=1;
p.b=4;
console.log(p.f());感觉看到这里好像当初自学JAVA的场景 解释是创建一个对象字面量o 包含着f方法
用Object.create(o)以o为原型 创建一个对象p指向对象o 给p添加两个属性a,b分别赋值 p会继承o的方法调用就知道结果了
2017-08-13
事实上,JavaScript的变量声明、创建属性以及每个javascript中的每个属性都有一定的标志说明它们的属性----如只读(ReadOnly)不可枚举(DontEnum)不可删除(DontDelete)等等。
由于变量声明自带不可删除属性,比较var num = 1 跟 num = 1,前者是变量声明,带不可删除属性,因此无法被删除;后者为全局变量的一个属性,因此可以从全局变量中删除。
由于变量声明自带不可删除属性,比较var num = 1 跟 num = 1,前者是变量声明,带不可删除属性,因此无法被删除;后者为全局变量的一个属性,因此可以从全局变量中删除。
2017-08-11