在创建具有属性的JavaScript对象时,为什么需要此代码
When creating JavaScript objects with properties, why is this code necessary?
我在这里读到了关于JavaScript原型的文章。在Object.create标题下,编写了一些代码来说明创建具有原型和某些属性的对象:
var person = {
kind: 'person'
}
// creates a new object which prototype is person
var zack = Object.create(person);
console.log(zack.kind); // => ‘person’
然后我遇到了这个:
var zack = Object.create(person, {age: {value: 13} });
console.log(zack.age); // => ‘13’
我没有通过{age: {value: 13} }
,而是通过了{age: 13}
,因为它看起来更简单。不幸的是,抛出了一个TypeError
。为了像这样创建这个对象的属性,为什么我们必须传递{age: {value: 13} }
而不仅仅是{age: 13}
?
因为参数是一个属性对象。你不仅仅是在定义场,你还在定义一种有点不同的动物的属性。例如,您可以指定"age"不可写。参考本文档:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create
相关文章:
- 为什么忽略了eval()代码中的语法错误
- 为什么indexOf在这个js代码中不起作用
- 为什么我在这个javaScript代码中使用NaN
- 为什么此验证代码不起作用
- 我的jquery代码不起作用.为什么?
- 为什么代码会指向window对象
- 为什么代码在jsfiddle上运行良好,但在我的dreamweaver上却不正常
- 为什么代码似乎有效,但结果中也包含未定义
- 无法理解为什么代码给出错误:类型错误:0 是只读的
- 为什么代码中添加的html与实际情况不同
- 为什么代码不起作用JS
- .每个循环都没有完全执行..为什么?(代码和日志可用)
- 为什么代码不能与名为jquery 19的脚本一起工作?
- 为什么代码部分中显示的javascript函数在Firefox和Chrome中不起作用?但在IE中工作良好
- 我的JSON有什么问题?解析并解释为什么代码没有按照出现的顺序执行
- javascript函数中的词法作用域,为什么代码返回undefined ?
- 为什么代码放在return语句之后,它会被执行吗?
- JavaScript -为什么代码不能工作
- 为什么代码没有应用于页面中的每个元素
- 为什么代码不起作用(使用 casperjs 提交表单)