繁体   English   中英

Javascript中的对象属性和对象属性有什么区别?

[英]What is the difference between object properties and object attributes in Javascript?

我已经看到两个关于JavaScript对象的术语,一个是它的属性 ,另一个是它的attribute 这些术语之间有什么区别?

每个数据属性(存储数据的对象属性)不仅具有名称/值对,还具有3个属性(默认情况下,这三个属性设置为true):

  • 可配置属性 :指定是否可以删除或更改属性。
  • Enumerable :指定是否可以在for / in循环中返回该属性。
  • 可写 :指定是否可以更改属性。

原始上下文: http : //javascriptissexy.com/javascript-objects-in-detail/

Javascript中的属性和属性是什么?

通常,属性和属性都是相同的。 两者都表示质量,在技术术语上是“键值对”,因此“键”是属性/属性的名称,“值”不过是“值”。

有什么区别 ?

差异不是上下文,而是含义。

为什么要使用两个术语?

因为即使Object的一个属性也可能具有property,所​​以称为属性。

Javascript中对象的属性是什么?

除了对象的属性外,对象还具有三个属性。 它们是原型可扩展的

例如:

 var SampleObject = { Name : "ObjName", id : "0"} // user created 

实际对象的结构:

  var SampleObject = {class :someValue, // Attribute prototype : someValue, // Attribute extensible : someValue, // Attribute Name : "ObjName", // Property id : "0" // Property } 

Javascript中对象的属性是什么?

对象中的所有键值对都是对象的属性。

JavaScript中对象的所有属性的属性是什么?

对象的每个属性具有以下3个属性。 ConfigurableEnumerableWritable ,值是布尔值。

 //Ex : var SampleObject = { key1 :{ p1 : "v1"}} // user created //Actual Structure : var SampleObject = { class :someValue, // Attribute prototype : someValue, // Attribute extensible : someValue, // Attribute key1 : { Configurable : true, // attribute Enumerable : true, // attribute Writable : true // attribute p1 : "v1" //property } // proeperty } 

属性是观察对象的其他元素。

属性是被观察对象的特征,是其一部分。

在javascript中,这些是可互换的

在这种情况下,作者不是指对象的属性,而是属性的属性 (请注意,正如作者所说,“ 每个数据属性…[具有] 3个属性 ”)。 这样,他指的是属性本身的行为,通常是关于内置对象的。

作者是正确的,当您通过如下简单地分配属性来创建属性时,所有三个属性默认情况下都是true的:

var obj = {};
obj.foo = "bar";

或在像这样的对象文字表达式中:

var obj = {foo:"bar"};

但是,作者没有提到您可以使用Object.defineProperty方法来修改这些属性。 MDN有一些示例说明了实际意义上的属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM