คำถามติดแท็ก object

วัตถุคือเอนทิตีที่สามารถจัดการได้โดยคำสั่งในภาษาการเขียนโปรแกรม วัตถุสามารถเป็นค่าตัวแปรฟังก์ชั่นหรือโครงสร้างข้อมูลที่ซับซ้อน ในการเขียนโปรแกรมเชิงวัตถุวัตถุหมายถึงอินสแตนซ์ของคลาส

3
คุณจะตั้งค่าคุณลักษณะทางโปรแกรมได้อย่างไร
สมมติว่าฉันมีวัตถุหลามxและสตริงsฉันจะตั้งค่าแอตทริบิวต์sบนx? ดังนั้น: >>> x = SomeObject() >>> attr = 'myAttr' >>> # magic goes here >>> x.myAttr 'magic' ความมหัศจรรย์คืออะไร? x.__getattr__()เป้าหมายของการนี้บังเอิญเป็นสายแคช

4
ฉันจะสร้างสำเนาของวัตถุใน Python ได้อย่างไร
ฉันต้องการสร้างสำเนาของวัตถุ ฉันต้องการให้วัตถุใหม่มีคุณสมบัติทั้งหมดของวัตถุเก่า (ค่าของเขตข้อมูล) แต่ฉันต้องการมีวัตถุอิสระ ดังนั้นถ้าฉันเปลี่ยนค่าของเขตข้อมูลของวัตถุใหม่วัตถุเก่าไม่ควรได้รับผลกระทบจากสิ่งนั้น
200 python  oop  object  copy 

10
อะไรคือความแตกต่างระหว่าง `วัตถุใหม่ () 'กับสัญกรณ์ตามตัวอักษร?
อะไรคือความแตกต่างระหว่างไวยากรณ์ที่สร้างขึ้นนี้สำหรับการสร้างวัตถุ: person = new Object() ... และไวยากรณ์ตามตัวอักษรนี้: person = { property1 : "Hello" }; ปรากฏว่าทั้งคู่ทำสิ่งเดียวกันแม้ว่า JSLint จะชอบให้คุณใช้สัญกรณ์ตามตัวอักษร อันไหนดีกว่าและทำไม?

4
super () ล้มเหลวด้วยข้อผิดพลาด: TypeError“ อาร์กิวเมนต์ 1 ต้องเป็นประเภทไม่ใช่ classobj” เมื่อผู้ปกครองไม่สืบทอดจากวัตถุ
ฉันพบข้อผิดพลาดบางอย่างที่ไม่สามารถหาได้ เบาะแสอะไรที่ผิดปกติกับรหัสตัวอย่างของฉัน? class B: def meth(self, arg): print arg class C(B): def meth(self, arg): super(C, self).meth(arg) print C().meth(1) ฉันได้รับรหัสทดสอบตัวอย่างจากความช่วยเหลือของวิธีการในตัว 'super' นี่คือข้อผิดพลาด: Traceback (most recent call last): File "./test.py", line 10, in ? print C().meth(1) File "./test.py", line 8, in meth super(C, self).meth(arg) TypeError: super() argument 1 must be type, not …

3
เป็นไปได้ที่จะลบคุณสมบัติของวัตถุใน PHP?
ถ้าฉันมีคำstdObjectพูด$a. ตรวจสอบว่ามีปัญหาไม่มีการกำหนดคุณสมบัติใหม่$a, $a->new_property = $xyz; แต่ฉันต้องการลบออกดังนั้นจึงunsetไม่มีความช่วยเหลือที่นี่ ดังนั้น, $a->new_property = null; เป็นชนิดของมัน แต่มีวิธีที่ 'สง่างาม' มากกว่านี้ไหม
196 php  object 

9
วิธีการหากุญแจของกัญชา?
ฉันรู้ใน javascript Objects เป็นสองเท่าของแฮช แต่ฉันไม่สามารถหาฟังก์ชั่นในตัวเพื่อรับกุญแจได้ var h = {a:'b',c:'d'}; ฉันต้องการบางสิ่งบางอย่าง var k = h.keys() ; // k = ['a','c']; มันง่ายที่จะเขียนฟังก์ชั่นของตัวเองเพื่อวนซ้ำไอเท็มและเพิ่มคีย์ไปยังอาเรย์ที่ฉันกลับมา แต่มีวิธีทำความสะอาดมาตรฐานที่จะทำเช่นนั้นหรือไม่? ฉันรู้สึกว่ามันคงเป็นฟังก์ชั่นที่เรียบง่ายที่ฉันพลาดไป แต่ฉันหามันไม่เจอ!
192 javascript  object  key 

15
สตริงไปยังวัตถุใน JS
ฉันมีสายเป็น string = "firstName:name1, lastName:last1"; ตอนนี้ฉันต้องการวัตถุหนึ่ง obj เช่นนั้น obj = {firstName:name1, lastName:last1} ฉันจะทำสิ่งนี้ใน JS ได้อย่างไร


8
PHP: การจัดเก็บ 'วัตถุ' ภายใน $ _SESSION
ฉันเพิ่งค้นพบว่าจริง ๆ แล้วฉันสามารถเก็บวัตถุใน $ _SESSIONและฉันคิดว่ามันค่อนข้างเท่เพราะเมื่อฉันข้ามไปยังหน้าอื่นฉันยังมีวัตถุของฉัน ตอนนี้ก่อนที่ผมจะเริ่มใช้วิธีการนี้ผมอยากจะดูว่ามันเป็นจริงเช่นความคิดที่ดีหรือหากมีข้อผิดพลาดที่อาจเกิดขึ้นที่เกี่ยวข้อง ฉันรู้ว่าถ้าฉันมีจุดเข้าเดียวฉันไม่จำเป็นต้องทำอย่างนั้น แต่ฉันไม่ได้อยู่ที่นั่นดังนั้นฉันไม่มีจุดเข้าเดียวและฉันอยากเก็บวัตถุของฉันเพราะฉันไม่ ' จะไม่สูญเสียสถานะของฉันเช่นนั้น (ตอนนี้ฉันได้อ่านแล้วว่าฉันควรเขียนโปรแกรมเว็บไซต์ไร้สัญชาติ แต่ฉันยังไม่เข้าใจแนวคิดดังกล่าว) ดังนั้นในระยะสั้น : การเก็บวัตถุในเซสชันมีปัญหาหรือไม่? แก้ไข: สรุปชั่วคราว : ตอนนี้ฉันเข้าใจแล้วว่ามันน่าจะดีกว่าที่จะสร้างวัตถุใหม่แม้ว่ามันจะเกี่ยวข้องกับการสืบค้นฐานข้อมูลอีกครั้ง คำตอบเพิ่มเติมอาจอธิบายเพิ่มเติมในแง่มุมนั้นอีกเล็กน้อย!
188 php  session  object 

14
JavaScript: filter () สำหรับ Objects
ECMAScript 5 มีfilter()ต้นแบบสำหรับArrayประเภท แต่ไม่ใช่Objectประเภทหากฉันเข้าใจอย่างถูกต้อง ฉันจะใช้filter()สำหรับObjectใน JavaScript? สมมติว่าฉันมีวัตถุนี้: var foo = { bar: "Yes" }; และฉันต้องการที่จะเขียนสิ่งfilter()ที่ได้ผลกับObjects: Object.prototype.filter = function(predicate) { var result = {}; for (key in this) { if (this.hasOwnProperty(key) && !predicate(this[key])) { result[key] = this[key]; } } return result; }; สิ่งนี้ใช้ได้เมื่อฉันใช้ในการสาธิตต่อไปนี้ แต่เมื่อฉันเพิ่มลงในเว็บไซต์ของฉันที่ใช้ jQuery 1.5 และ jQuery UI 1.8.9 ฉันได้รับข้อผิดพลาด …

10
วิธีใช้ javascript Object.defineProperty
ฉันมองไปรอบ ๆ เพื่อใช้Object.definePropertyวิธีการ แต่ไม่พบสิ่งที่เหมาะสม มีคนให้ข้อมูลโค้ดนี้กับฉัน: Object.defineProperty(player, "health", { get: function () { return 10 + ( player.level * 15 ); } }) แต่ฉันไม่เข้าใจ ส่วนใหญ่getเป็นสิ่งที่ฉันไม่สามารถได้รับ (ปุนตั้งใจ) มันทำงานยังไง?

4
มีโอเปอเรเตอร์“ ไม่ได้อยู่ใน” ใน JavaScript เพื่อตรวจสอบคุณสมบัติของวัตถุหรือไม่?
มีตัวดำเนินการ "ไม่อยู่" ใน JavaScript เพื่อตรวจสอบว่าคุณสมบัติไม่มีอยู่ในวัตถุหรือไม่? ฉันไม่พบอะไรเกี่ยวกับสิ่งนี้รอบ ๆ Google หรือ Stack Overflow นี่คือตัวอย่างของรหัสขนาดเล็กที่ฉันกำลังทำงานในที่ที่ฉันต้องการฟังก์ชั่นประเภทนี้: var tutorTimes = {}; $(checked).each(function(idx){ id = $(this).attr('class'); if(id in tutorTimes){} else{ //Rest of my logic will go here } }); อย่างที่คุณเห็นฉันจะใส่ทุกอย่างลงในelseคำสั่ง ดูเหมือนว่าฉันผิดที่จะตั้งค่าคำสั่งif- elseเพื่อใช้elseส่วนนั้น

13
Javascript ลด () กับ Object
มีวิธี Array ที่ดีในการreduce()รับค่าหนึ่งค่าจาก Array ตัวอย่าง: [0,1,2,3,4].reduce(function(previousValue, currentValue, index, array){ return previousValue + currentValue; }); วิธีที่ดีที่สุดในการบรรลุวัตถุเดียวกันคืออะไร? ฉันต้องการทำสิ่งนี้: { a: {value:1}, b: {value:2}, c: {value:3} }.reduce(function(previous, current, index, array){ return previous.value + current.value; }); อย่างไรก็ตามวัตถุดูเหมือนจะไม่ได้มีreduce()การใช้วิธีการใด ๆ

13
รับชื่อคุณสมบัติของวัตถุ
ฉันสงสัยว่ามีวิธีใดบ้างใน JavaScript ที่จะวนซ้ำวัตถุอย่างนั้น for(var i in myObject) { // ... } แต่รับชื่อของแต่ละคุณสมบัติเช่นนี้ for(var i in myObject) { separateObj[myObject[i].name] = myObject[i]; } ฉันดูเหมือนจะไม่พบสิ่งใดบน Google พวกเขาบอกว่าจะส่งชื่อตัวแปรกับพวกเขา แต่นี่ไม่ใช่ตัวเลือกสำหรับสิ่งที่ฉันพยายามบรรลุ ขอบคุณสำหรับความช่วยเหลือใด ๆ ที่คุณสามารถนำเสนอ

8
วิธีใดที่ดีที่สุดสำหรับการสร้างวัตถุใน JavaScript `var` จำเป็นก่อนคุณสมบัติของวัตถุหรือไม่?
จนถึงตอนนี้ฉันเห็นสามวิธีในการสร้างวัตถุใน JavaScript วิธีใดที่ดีที่สุดสำหรับการสร้างวัตถุและทำไม ฉันยังเห็นด้วยว่าในตัวอย่างเหล่านี้ทั้งหมดvarไม่มีการใช้คำหลักก่อนคุณสมบัติ - เพราะเหตุใด ไม่จำเป็นต้องประกาศvarก่อนชื่อของคุณสมบัติตามที่กล่าวถึงคุณสมบัติว่าเป็นตัวแปรหรือไม่? ในวิธีที่สองและสามชื่อของวัตถุจะเป็นตัวพิมพ์ใหญ่ในขณะที่ในวิธีแรกที่ชื่อของวัตถุที่เป็นตัวพิมพ์เล็ก เราควรใช้ชื่ออะไรกับวัตถุ? วิธีแรก: function person(fname, lname, age, eyecolor){ this.firstname = fname; this.lastname = lname; this.age = age; this.eyecolor = eyecolor; } myFather = new person("John", "Doe", 50, "blue"); document.write(myFather.firstname + " is " + myFather.age + " years old."); วิธีที่สอง: var Robot = …
177 javascript  object 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.