这些似乎意味着同样的事情。但什么术语在哪种情况下更合适?
答案 0 :(得分:181)
一般而言(在正常的英语用法中)这些术语的含义相同。
在HTML / Javascript的特定上下文中,术语变得混乱,因为DOM元素的HTML表示具有属性(这是XML中用于标记中包含的键/值对的术语) )但当表示为JavaScript对象时,这些属性显示为对象属性。
为了进一步混淆事物,对属性的更改通常会更新属性。
例如,更改element.href
属性会更新元素上的href
属性,并且会在通话中反映出来到element.getAttribute('href')
。
但是,如果您随后读取该属性,它将被标准化为绝对URL,即使属性可能是相对URL!
答案 1 :(得分:60)
这些话在计算机科学出现之前就存在了。
属性是我们将归属于某人或某物的品质或对象。例如,权杖是权力和国家的属性。
属性是存在且没有任何归因的质量。例如,粘土具有粘合性;或者,金属的一个特性是导电性。属性通过物理现象证明自己,而不需要将它们归于某人或某物。出于同样的原因,说某人具有男性属性是不言而喻的。实际上,您可以说某个财产归某人所有。
公平地说,在计算机科学中,这两个词,至少在大多数情况下,可以互换使用 - 但是程序员通常不会持有英语文学学位,也不会写或关心语法书籍:)
答案 2 :(得分:18)
属性通常用于描述机制或现实世界。
属性用于描述模型。
例如,文档(坐在桌面上)可能具有草稿属性。
对文档建模的类具有一个属性,用于指示它是否为草稿。在这种情况下,属性捕获状态。
答案 3 :(得分:16)
这些术语的确切含义将取决于您所谈论的语言/系统/宇宙。
在HTML / XML中,属性是具有等号和值的标记的一部分,例如,属性并不意味着什么。
因此,我们需要有关您正在讨论的域名的更多信息。
答案 4 :(得分:12)
属性是您在HTML标记中使用的实际内容,如
<input type="checkbox" checked="checked" />
在此实例中,type和checked是属性。该属性虽然是这些属性的值,浏览器会在DOM元素中保存这些属性。通常,属性和属性的值是相等的,这就是令人困惑的原因。
在此示例中,DOM元素input
的属性type
的值为"checkbox"
,属性checked
的值为true
(注意这是怎么回事value与HTML属性中的值不同。)
使用Firebug,您可以在单击元素并选择“DOM视图”时观察属性的行为。
答案 5 :(得分:5)
在Python中......
class X( object ):
def __init__( self ):
self.attribute
def getAttr( self ):
return self.attribute
def setAttr( self, value ):
self.attribute= value
property_name= property( getAttr, setAttr )
属性是一个类似属性的名称,它包含了setter,getter(和deleter)函数的集合。
属性通常是另一个对象中的单个对象。
尽管如此,Python为您提供了__getattr__
等方法,允许您扩展“属性”的定义。
底线 - 它们几乎是同义词。 Python对它们的实现方式进行了技术区分。
答案 6 :(得分:1)
<property attribute="attributeValue">proopertyValue</property>
是看待它的一种方式。
在C#中
[Attribute]
public class Entity
{
private int Property{get; set;};
答案 7 :(得分:1)
在Java(或其他语言)中,使用Property / Attribute取决于用法:
当值不经常变化时使用的属性(通常在启动或环境变量时使用)
属性是元素(对象)的值(对象子元素),它可以经常/持续变化并且是否持续
答案 8 :(得分:1)
在HTML中,似乎属性特定于DOM树,而属性用于描述DOM元素的特征
答案 9 :(得分:0)
Delphi使用了属性,他们已经进入.NET(因为它有相同的架构师)。
在Delphi中,它们通常与运行时类型信息结合使用,以便集成属性编辑器可用于在设计时设置属性。
属性并不总是与字段相关。它们可能是可能产生副作用的功能(但当然这是非常糟糕的设计)。
答案 10 :(得分:0)
属性和属性有什么区别?
功能和功能有什么区别?
特征和性格有什么区别?
行为和行为有什么区别?
它只是一个上下文的变化。
对象,产品,人格,人
一个人行为。 人格具有特定性格的特征。 产品具有派生功能的功能。 对象具有赋予其属性的属性。