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

ไม่ได้กำหนดตัวแปรหากยังไม่ได้กำหนดค่า

11
วิธีตรวจสอบค่า 'undefined' ใน jQuery
ซ้ำเป็นไปได้: การตรวจจับคุณสมบัติวัตถุที่ไม่ได้กำหนดใน JavaScript จาวา สคริปต์ที่ไม่ได้กำหนดเปรียบเทียบ วิธีที่เราสามารถเพิ่มการตรวจสอบตัวแปรที่ไม่ได้กำหนดเช่น: function A(val) { if (val == undefined) // do this else // do this }

12
javascript ตั้งค่าตัวแปรหากไม่ได้กำหนด
ฉันรู้ว่าฉันสามารถทดสอบตัวแปรจาวาสคริปต์แล้วกำหนดว่ามันไม่ได้กำหนด แต่ไม่มีวิธีการพูดบางอย่าง var setVariable = localStorage.getItem ('value') || 0; ดูเหมือนจะเป็นวิธีที่ชัดเจนกว่ามากและฉันค่อนข้างมั่นใจว่าฉันเคยเห็นสิ่งนี้ในภาษาอื่น

8
ตรวจสอบ JavaScript เป็นศูนย์
ฉันเจอรหัสต่อไปนี้: function test(data) { if (data != null && data !== undefined) { // some code here } } ฉันค่อนข้างใหม่กับ JavaScript แต่จากคำถามอื่น ๆ ที่ฉันได้อ่านที่นี่ฉันรู้สึกว่ารหัสนี้ไม่สมเหตุสมผล โดยเฉพาะคำตอบนี้ระบุว่า คุณจะได้รับข้อผิดพลาดถ้าคุณเข้าถึงตัวแปรที่ไม่ได้กำหนดในบริบทอื่น ๆ typeofกว่าใด อัปเดต:คำตอบ (อ้างถึง) ด้านบนอาจทำให้เข้าใจผิด มันควรจะพูดว่า«ตัวแปรที่ไม่ได้ประกาศ»แทนที่จะ«ตัวแปรไม่ได้กำหนด» ดังที่ฉันค้นพบในคำตอบของRyan ♦ , maericsและnwellnhofถึงแม้ว่าจะไม่มีการขัดแย้งกับฟังก์ชันฟังก์ชันตัวแปรสำหรับอาร์กิวเมนต์จะถูกประกาศเสมอ ความจริงข้อนี้ยังพิสูจน์ข้อแรกในรายการด้านล่าง จากความเข้าใจของฉันสถานการณ์ต่อไปนี้อาจประสบ: ฟังก์ชั่นได้รับการเรียกว่ามีการขัดแย้งใดจึงทำให้ตัวแปรไม่ได้กำหนดและการสร้างข้อผิดพลาดในdatadata != null ฟังก์ชั่นถูกเรียกโดยเฉพาะอย่างยิ่งกับnull(หรือundefined) เป็นอาร์กิวเมนต์ในกรณีที่data != nullได้รับการปกป้องรหัสภายในทำให้การแสดงผลที่&& data !== undefinedไร้ประโยชน์ ฟังก์ชั่นถูกเรียกด้วยอาร์กิวเมนต์ null …

9
ข้อความแจ้งข้อผิดพลาดของ PHP“ คำเตือน: การใช้ค่าคงที่ที่ไม่ได้กำหนด” หมายความว่าอย่างไร
PHP กำลังเขียนข้อผิดพลาดนี้ในบันทึก: "ประกาศ: ใช้ค่าคงที่ที่ไม่ได้กำหนด" ข้อผิดพลาดในบันทึก: PHP Notice: Use of undefined constant department - assumed 'department' (line 5) PHP Notice: Use of undefined constant name - assumed 'name' (line 6) PHP Notice: Use of undefined constant email - assumed 'email' (line 7) PHP Notice: Use of undefined constant message - assumed …
163 php  constants  undefined 

10
golang "ไม่ได้กำหนด" ฟังก์ชันที่ประกาศในไฟล์อื่นหรือไม่
ฉันกำลังพยายามเขียนโปรแกรม go พื้นฐานที่เรียกใช้ฟังก์ชันในไฟล์อื่น แต่เป็นส่วนหนึ่งของแพ็คเกจเดียวกัน อย่างไรก็ตามผลตอบแทน: undefined: NewEmployee นี่คือซอร์สโค้ด: main.go: package main func main() { emp := NewEmployee() } employee.go: package main type Employee struct { name string age int } func NewEmployee() *Employee { p := &Employee{} return p } func PrintEmployee (p *Employee) { return "Hello world!" }
136 go  undefined  func 

12
เหตุใดจึงมีค่า "null" ใน JavaScript
ใน JavaScript มีสองค่าซึ่งโดยทั่วไปจะบอกว่า 'ฉันไม่อยู่ - และundefinednull คุณสมบัติที่โปรแกรมเมอร์ไม่ได้กำหนดอะไรจะเป็นundefinedแต่เพื่อให้คุณสมบัตินั้นกลายเป็นคุณสมบัติnullนั้นnullจะต้องถูกกำหนดให้กับคุณสมบัตินั้นอย่างชัดเจน ฉันเคยคิดว่ามีความจำเป็นnullเพราะundefinedเป็นค่าดั้งเดิมและnullวัตถุ มันไม่ได้ถึงแม้ว่าtypeof nullจะให้ผลผลิต'object': ที่จริงทั้งสองมีค่าดั้งเดิม - ซึ่งหมายความว่าค่าundefinedมิได้nullสามารถกลับมาจากการทำงานของผู้สร้างขณะที่ทั้งสองจะถูกแปลงเป็นวัตถุที่ว่างเปล่า (หนึ่งที่มีการโยนข้อผิดพลาดความล้มเหลวจงประกาศในการก่อสร้าง) ทั้งคู่ยังประเมินfalseในบริบทบูลีน ข้อแตกต่างที่แท้จริงที่ฉันสามารถคิดเป็นที่หนึ่งประเมินเพื่อNaNการอื่น ๆ เพื่อ0ในบริบทที่เป็นตัวเลข เหตุใดจึงมีทั้งสองอย่างundefinedและnullเพียงแค่สร้างความสับสนให้โปรแกรมเมอร์ที่ตรวจสอบไม่ถูกต้องnullเมื่อพยายามค้นหาว่ามีการตั้งค่าคุณสมบัติหรือไม่? สิ่งที่อยากทราบคือหากใครมีตัวอย่างที่สมเหตุสมผลที่จำเป็นต้องใช้nullที่ไม่สามารถแสดงundefinedแทนได้ ดังนั้นฉันทามติทั่วไปดูเหมือนจะundefinedหมายความว่า 'ไม่มีคุณสมบัติดังกล่าว' ในขณะที่nullหมายถึง 'ทรัพย์สินนั้นมีอยู่จริง แต่ไม่มีค่า' ฉันสามารถใช้ชีวิตแบบนั้นได้หากการใช้งาน JavaScript บังคับใช้พฤติกรรมนี้จริง - แต่undefinedเป็นค่าดั้งเดิมที่ถูกต้องอย่างสมบูรณ์ดังนั้นจึงสามารถกำหนดให้กับคุณสมบัติที่มีอยู่เพื่อทำลายสัญญานี้ได้อย่างง่ายดาย ดังนั้นหากคุณต้องการตรวจสอบว่ามีคุณสมบัติอยู่หรือไม่คุณต้องใช้ตัวinดำเนินการหรือhasOwnProperty()อย่างไรก็ตาม อีกครั้ง: การใช้ประโยชน์สำหรับค่าที่แยกต่างหากสำหรับundefinedและnullคืออะไร ฉันใช้จริงundefinedเมื่อต้องการยกเลิกการตั้งค่าคุณสมบัติที่ไม่ได้ใช้งานอีกต่อไป แต่ไม่ต้องการdeleteใช้ ฉันควรใช้nullแทนหรือไม่?

14
มีเหตุผลอะไรที่ต้องใช้ null แทน undefined ใน JavaScript?
ฉันได้รับการเขียน JavaScript nullสำหรับค่อนข้างนานในขณะนี้และฉันไม่เคยมีเหตุผลที่จะใช้งาน ดูเหมือนว่าundefinedจะดีกว่าเสมอและตอบสนองวัตถุประสงค์เดียวกันทางโปรแกรม มีเหตุผลเชิงปฏิบัติอะไรบ้างที่ควรใช้nullแทนundefined?

10
การคืนค่าʻundefined` หรือ `null` จากฟังก์ชัน javascript จะดีกว่าไหม
ฉันมีฟังก์ชั่นที่ฉันเขียนซึ่งโดยทั่วไปมีลักษณะดังนี้: function getNextCard(searchTerms) { // Setup Some Variables // Do a bunch of logic to pick the next card based on termed passed through what I'll call here as 'searchTerms' all of this logic is omitted because it's not important for my question. // ... // If we find a …

2
JSLint: ถูกใช้ก่อนกำหนด
สวัสดีฉันมีไฟล์จาวาสคริปต์ 3 ไฟล์ jquery.js ยูทิลิตี้ js file1.js ใน file1.js ฉันมี jQuery.noConflict() jQuery(document).ready(function($) { // .... }); ฉันได้รับข้อผิดพลาด 'jQuery' ถูกใช้ก่อนที่จะมีการกำหนด และมีการใช้ "เอกสาร" ก่อนกำหนด ฉันจะกำจัดคำเตือนนี้อย่างปลอดภัยได้อย่างไร ถ้าฉันทำ var document = document || {}; จากนั้นในยูทิลิตี้ js ของฉันหากใช้มันจะเป็นโมฆะใน IE และตกลงใน firefox อะไรคือทางออกที่ดีที่สุดสำหรับสิ่งนี้?

8
CoffeeScript ไม่ได้กำหนด
ในจาวาสคริปต์เพื่อตรวจสอบว่าไม่เคยสร้างตัวแปรหรือไม่เราก็ทำ if (typeof MyVariable !== "undefined"){ ... } ฉันสงสัยว่าฉันทำแบบนั้นในกาแฟได้อย่างไร ... ฉันลองทำสิ่งที่ชอบ if (MyVariable?false){ ... } แต่ตรวจสอบว่าMyVariableเป็นฟังก์ชันหรือไม่ถ้าเป็นเช่นนั้นจะเรียก MyVariable (เท็จ) ถ้าไม่ใช่จะเรียกโมฆะ (0) หรืออะไรทำนองนั้น

5
JSON ควรรวมค่า null [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังสร้าง API ที่แสดงผลลัพธ์เป็น JSON มีแนวทางปฏิบัติที่ดีที่สุดในปัจจุบันหรือไม่ว่าเราควรรวมคีย์ในผลลัพธ์เมื่อค่าเป็นโมฆะ ตัวอย่างเช่น: { "title":"Foo Bar", "author":"Joe Blow", "isbn":null } หรือ { "title":"Foo Bar", "author":"Joe Blow" } เนื่องจากอันที่สองมีขนาดเล็กกว่าฉันจึงเอนเอียงไปทางสไตล์นี้ แต่ฉันไม่แน่ใจว่ามีสไตล์ที่ชอบหรือไม่ จากมุมมองของลูกค้าดูเหมือนว่าทั้งสองสไตล์จะเทียบเท่ากัน ข้อดีหรือข้อเสียของแต่ละข้อ?

8
ใน JavaScript อันตรายแค่ไหนที่จะถือว่า undefined ไม่ได้ถูกเขียนทับ?
ทุกคนทุกคนเวลาที่กล่าวถึงการทดสอบกับundefined, ก็ออกมาชี้ว่าundefinedไม่ได้เป็นคำหลักดังนั้นมันอาจจะกำหนดให้"hello"ดังนั้นคุณควรใช้ typeof x == "undefined"แทน นี่ดูไร้สาระสำหรับฉัน คงไม่มีใครทำแบบนั้นและถ้าพวกเขาทำมันจะมีเหตุผลเพียงพอที่จะไม่ใช้รหัสใด ๆ ที่พวกเขาเขียน ... ใช่ไหม? ผมพบว่าตัวอย่างหนึ่งของคนที่ตั้งใจตั้งundefinedไปnullและนี้ได้รับเป็นเหตุผลที่จะหลีกเลี่ยงการสมมติว่าundefinedไม่ถูกเขียนทับ แต่ถ้าพวกเขาทำเช่นนั้นข้อผิดพลาดจะไม่ถูกตรวจพบและฉันไม่เห็นว่ามันดีกว่าอย่างไร ใน C ++ ทุกคนตระหนักดีว่าการพูดถูกกฎหมาย#define true falseแต่ไม่มีใครเคยแนะนำให้คุณหลีกเลี่ยงtrueและใช้0 == 0แทน คุณคิดว่าคงไม่มีใครเป็นคนขี้เหวี่ยงมากพอที่จะทำเช่นนั้นและถ้าเป็นเช่นนั้นอย่าเชื่อรหัสของพวกเขาอีกเลย สิ่งนี้เคยกัดคนที่คนอื่นมอบหมายให้undefined(โดยตั้งใจ) และมันทำลายรหัสของคุณหรือนี่เป็นภัยคุกคามที่สมมติขึ้นหรือไม่? ฉันยินดีที่จะใช้โอกาสในการทำให้รหัสของฉันอ่านได้ง่ายขึ้นเล็กน้อย นี่เป็นความคิดที่แย่จริงๆหรือ? ขอย้ำอีกครั้งว่าฉันไม่ได้ถามถึงวิธีการป้องกันจากการมอบหมายใหม่ที่ไม่ได้กำหนด ฉันเคยเห็นกลเม็ดเหล่านั้นเขียนถึง 100 ครั้งแล้ว ฉันกำลังถามว่าการไม่ใช้กลอุบายเหล่านั้นอันตรายแค่ไหน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.