สิ่งเหล่านี้ดูเหมือนจะหมายถึงสิ่งเดียวกัน แต่คำใดที่เหมาะสมกว่าในบริบทใด
สิ่งเหล่านี้ดูเหมือนจะหมายถึงสิ่งเดียวกัน แต่คำใดที่เหมาะสมกว่าในบริบทใด
คำตอบ:
โดยทั่วไปแล้ว (และในการใช้ภาษาอังกฤษทั่วไป) เงื่อนไขหมายถึงสิ่งเดียวกัน
ในบริบทที่เฉพาะเจาะจงของ HTML / Javascript คำศัพท์สับสนเนื่องจากการแสดง HTML ขององค์ประกอบ DOM มีแอตทริบิวต์ (นั่นคือคำที่ใช้ใน XML สำหรับคู่คีย์ / ค่าที่อยู่ภายในแท็ก) แต่เมื่อแสดงเป็นวัตถุ JavaScript แอตทริบิวต์เหล่านั้น ปรากฏเป็นวัตถุคุณสมบัติ
หากต้องการสับสนเพิ่มเติมการเปลี่ยนแปลงคุณสมบัติจะอัปเดตแอตทริบิวต์
ยกตัวอย่างเช่นการเปลี่ยนแปลงelement.href
สถานที่ให้บริการจะปรับปรุงhref
แอตทริบิวต์element.getAttribute('href')
ในองค์ประกอบและที่จะสะท้อนให้เห็นในการเรียกไปยัง
อย่างไรก็ตามหากคุณอ่านคุณสมบัตินั้นในภายหลังคุณสมบัติดังกล่าวจะถูกทำให้เป็นมาตรฐานโดยสมบูรณ์แม้ว่าจะมีแอตทริบิวต์นั้นอาจเป็น URL ที่เกี่ยวข้อง!
python
ผมมาจาก ฉันสามารถใช้คำศัพท์class attribute
และinstance property
?
คำเหล่านี้มีอยู่ก่อนที่วิทยาศาสตร์คอมพิวเตอร์จะปรากฏขึ้น
คุณสมบัติเป็นคุณภาพหรือวัตถุที่เราให้ความสำคัญกับใครบางคนหรือบางสิ่งบางอย่าง ตัวอย่างเช่นคทาเป็นคุณลักษณะของอำนาจและสถานะ
สถานที่ให้บริการที่มีคุณภาพที่มีอยู่โดยไม่ต้องระบุแหล่งที่มาใด ๆ ตัวอย่างเช่นดินเหนียวมีคุณสมบัติยึดเกาะ หรือหนึ่งในคุณสมบัติของโลหะคือการนำไฟฟ้า คุณสมบัติแสดงให้เห็นถึงตัวเองแม้ว่าปรากฏการณ์ทางกายภาพโดยไม่จำเป็นต้องให้พวกเขากับใครบางคน ในทำนองเดียวกันการบอกว่าใครบางคนมีคุณลักษณะที่เป็นชายก็เห็นได้ชัดในตัวเอง ในความเป็นจริงคุณสามารถพูดได้ว่าทรัพย์สินเป็นของใครบางคนหรือบางสิ่งบางอย่าง
เพื่อความเป็นธรรมแม้ว่าในวิทยาศาสตร์คอมพิวเตอร์คำสองคำนี้อย่างน้อยที่สุดก็สามารถใช้แทนกันได้ - แต่แล้วโปรแกรมเมอร์มักจะไม่จบปริญญาในวรรณคดีอังกฤษและไม่เขียนหรือสนใจหนังสือไวยากรณ์มากนัก :)
บ่อยครั้งที่มีการใช้แอตทริบิวต์เพื่ออธิบายกลไกหรือสิ่งต่าง ๆ ในโลกแห่งความเป็นจริง
คุณสมบัติใช้เพื่ออธิบายรูปแบบ
ตัวอย่างเช่นเอกสาร (นั่งอยู่บนโต๊ะทำงานของคุณ) อาจมีคุณลักษณะที่เป็นแบบร่าง
คลาสที่โมเดลเอกสารมีคุณสมบัติเพื่อระบุว่าเป็นแบบร่างหรือไม่ ในกรณีนี้คุณสมบัติจะบันทึกสถานะ
แอตทริบิวต์คือสิ่งที่คุณใช้จริงภายในแท็ก HTML เช่น
<input type="checkbox" checked="checked" />
ในอินสแตนซ์นี้ประเภทและตรวจสอบเป็นคุณลักษณะ แม้ว่าคุณสมบัติคือค่าของแอตทริบิวต์เหล่านี้ซึ่งเบราว์เซอร์บันทึกอยู่ภายในองค์ประกอบ DOM บ่อยครั้งที่มูลค่าของคุณลักษณะและคุณสมบัติเท่ากันนั่นคือสิ่งที่ทำให้เกิดความสับสน
ในตัวอย่างนี้องค์ประกอบ DOM input
มีคุณสมบัติที่type
มีค่า"checkbox"
และคุณสมบัติที่checked
มีค่าtrue
(สังเกตว่าค่านี้แตกต่างจากค่าที่อยู่ในแอตทริบิวต์ HTML)
การใช้ Firebug คุณสามารถสังเกตพฤติกรรมของคุณสมบัติเมื่อคลิกที่องค์ประกอบและเลือก "มุมมอง DOM"
ความหมายที่แม่นยำของคำศัพท์เหล่านี้จะขึ้นอยู่กับภาษา / ระบบ / จักรวาลที่คุณกำลังพูดถึงมาก
ใน HTML / XML แอตทริบิวต์เป็นส่วนหนึ่งของแท็กที่มีเครื่องหมายเท่ากับและค่าและคุณสมบัติไม่ได้มีความหมายอะไรเลยตัวอย่างเช่น
ดังนั้นเราต้องการข้อมูลเพิ่มเติมเกี่ยวกับโดเมนที่คุณพูดคุย
ในงูหลาม ...
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__
ที่อนุญาตให้คุณขยายคำจำกัดความของ "attribute"
Bottom Line - พวกเขาเกือบจะเหมือนกัน Python สร้างความแตกต่างด้านเทคนิคในการใช้งาน
ใน Java (หรือภาษาอื่น ๆ ) การใช้คุณสมบัติ / คุณสมบัติขึ้นอยู่กับการใช้งาน:
คุณสมบัติที่ใช้เมื่อค่าไม่เปลี่ยนแปลงบ่อยนัก (มักใช้เมื่อเริ่มต้นหรือตัวแปรสภาพแวดล้อม)
คุณสมบัติเป็นค่า (วัตถุลูก) ขององค์ประกอบ (วัตถุ) ซึ่งสามารถเปลี่ยนแปลงได้บ่อย / ตลอดเวลาและเป็นหรือไม่ขัดขืน
ใน HTML ดูเหมือนว่าคุณลักษณะเฉพาะกับต้นไม้ DOM ในขณะที่คุณสมบัติใช้เพื่ออธิบายคุณสมบัติขององค์ประกอบ DOM
คุณสมบัติและคุณสมบัติแตกต่างกันอย่างไร
คุณสมบัติและฟังก์ชั่นแตกต่างกันอย่างไร? ความแตกต่างระหว่างลักษณะและตัวละครคืออะไร? พระราชบัญญัติและพฤติกรรมต่างกันอย่างไร
มันเป็นเพียงการเปลี่ยนแปลงในบริบท
วัตถุสินค้า, บุคลิกภาพบุคคล
บุคคลที่ทำหน้าที่ในพฤติกรรม บุคลิกภาพมีลักษณะของตัวละครที่กำหนด ผลิตภัณฑ์มีคุณสมบัติที่ได้มาจากการใช้งาน วัตถุมีคุณสมบัติที่ให้มันคุณสมบัติ
<property attribute="attributeValue">proopertyValue</property>
จะเป็นวิธีหนึ่งในการดู
ใน C #
[Attribute]
public class Entity
{
private int Property{get; set;};
Delphi ใช้คุณสมบัติและพวกเขาพบวิธีใน. NET (เพราะมีสถาปนิกเดียวกัน)
ใน Delphi มักใช้ร่วมกับข้อมูลชนิดรันไทม์ซึ่งตัวแก้ไขคุณสมบัติรวมสามารถใช้เพื่อตั้งค่าคุณสมบัติใน designtime
คุณสมบัติไม่เกี่ยวข้องกับฟิลด์เสมอไป พวกเขาอาจเป็นฟังก์ชั่นที่เป็นไปได้ที่จะมีผลข้างเคียง (แต่แน่นอนว่าเป็นการออกแบบที่แย่มาก)