在object .create中使用对象字面量和函数表达式有区别吗?
Is there a difference between using object literals vs function expressions with Object.create?
使用Object时。创建,原型是对象文字还是函数表达式有区别吗?
在这个例子中,原型是定义为函数还是对象有关系吗?
var CircleObj = {
x: 0,
y: 0
}
var CircleFunc = function(){
this.x = 0;
this.y = 0;
}
var myCircleObj = Object.create(CircleObj, {
x: { writable: true, configurable:true, value: 1 },
y: { writable: true, configurable:true, value: 1 }
});
var myCircleFunc = Object.create(CircleFunc, {
x: { writable: true, configurable:true, value: 2 },
y: { writable: true, configurable:true, value: 2 }
});
编辑我在一开始就通过重写属性来混淆这个问题。使用对象。不带属性的Create显然只适用于对象。
var myCircleObj = Object.create(CircleObj)
var myCircleFunc = Object.create(CircleFunc)
对象。create第一个参数意味着新对象将继承这些属性。在您的示例中:
案例1:新对象将继承x &从CircleObj获取属性
案例2:新对象不会继承x &
但是因为你重写了x &y属性在你的对象。创建在case 1 &2. 你没有正确使用它们。
所以传递一个Object字面量或new Object()给Object。
相关文章:
- 能够在定义函数表达式之前使用它
- 函数表达式,返回回调函数
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- 函数声明与函数表达式之间的性能差异
- 立即调用函数表达式(IIFE)相对于普通函数的优势
- 如何防止 JS 缩小删除命名函数表达式的名称
- Angularjs 与 coffeescript 函数表达式中断
- JavaScript 混乱中的函数表达式
- 从ES6中的函数表达式访问类作用域
- 提升作为数组项的匿名函数表达式
- Javascript Mocha测试-测试函数表达式中的函数表达式
- 函数中的JavaScript函数表达式
- Javascript闭包覆盖函数表达式
- 函数表达式的词法作用域
- 请解释一下“;立即调用函数表达式“;以及“;自调用匿名函数”;
- JavaScript 中的函数语句和函数表达式
- ng-class 的函数表达式在 ng-click 时被调用
- 如何创建名称和主体存储在不同变量中的 JavaScript 函数表达式
- Object.Prototype 方法和 IIFE(立即调用的函数表达式)中的“use strict”
- 全局范围内的函数表达式与函数声明的区别