คำถามติดแท็ก function-prototypes

10
ทำไมฟังก์ชั่นที่ไม่มีพารามิเตอร์ (เมื่อเปรียบเทียบกับนิยามของฟังก์ชันจริง) คอมไพล์?
ฉันเพิ่งเจอรหัส C ของใครบางคนที่ฉันสับสนว่าทำไมมันถึงรวบรวม มีสองประเด็นที่ฉันไม่เข้าใจ ก่อนอื่นฟังก์ชั่นต้นแบบนั้นไม่มีพารามิเตอร์เทียบกับนิยามฟังก์ชันจริง ประการที่สองพารามิเตอร์ในการกำหนดฟังก์ชั่นไม่ได้มีประเภท #include <stdio.h> int func(); int func(param) { return param; } int main() { int bla = func(10); printf("%d", bla); } ทำไมจึงใช้งานได้ ฉันได้ทดสอบมันในคอมไพเลอร์สองสามอันและมันใช้งานได้ดี

11
วิธีตั้งค่าต้นแบบของวัตถุ JavaScript ที่ได้รับการสร้างอินสแตนซ์แล้ว?
สมมติว่าฉันมีวัตถุfooในรหัส JavaScript ของฉัน fooเป็นวัตถุที่ซับซ้อนและสร้างขึ้นที่อื่น ฉันจะเปลี่ยนต้นแบบของfooวัตถุได้อย่างไร? แรงจูงใจของฉันคือการตั้งค่าต้นแบบที่เหมาะสมให้กับออบเจ็กต์ที่ต่อเนื่องกันจาก. NET เป็นตัวอักษร JavaScript สมมติว่าฉันเขียนโค้ด JavaScript ต่อไปนี้ในหน้า ASP.NET var foo = <%=MyData %>; สมมติว่าMyDataเป็นผลมาจากการเรียกใช้. NET JavaScriptSerializerบนDictionary<string,string>วัตถุ ในขณะทำงานสิ่งนี้จะกลายเป็นสิ่งต่อไปนี้: var foo = [{"A":"1","B":"2"},{"X":"7","Y":"8"}]; อย่างที่คุณเห็นfooกลายเป็นอาร์เรย์ของวัตถุ ฉันต้องการเริ่มต้นfooด้วยต้นแบบที่เหมาะสม ฉันไม่ได้ต้องการที่จะปรับเปลี่ยนหรือObject.prototype Array.prototypeฉันจะทำเช่นนี้ได้อย่างไร?

5
Javascript เมื่อใดควรใช้ต้นแบบ
ฉันต้องการทราบว่าเมื่อใดจึงเหมาะสมที่จะใช้เมธอดต้นแบบใน js ควรใช้เสมอหรือไม่? หรือมีบางกรณีที่ไม่แนะนำให้ใช้และ / หรือถูกลงโทษด้านประสิทธิภาพ? ในการค้นหารอบ ๆ ไซต์นี้ด้วยวิธีการทั่วไปสำหรับการกำหนดเนมสเปซใน js ดูเหมือนว่าส่วนใหญ่จะใช้การใช้งานที่ไม่ใช่ต้นแบบ: เพียงแค่ใช้อ็อบเจกต์หรืออ็อบเจ็กต์ฟังก์ชันเพื่อห่อหุ้มเนมสเปซ มาจากภาษาตามคลาสมันยากที่จะไม่ลองวาดแนวขนานและคิดว่าต้นแบบก็เหมือนกับ "คลาส" และการใช้งานเนมสเปซที่ฉันพูดถึงก็เหมือนกับวิธีการคงที่

3
foo (void) vs foo (void *)
ฟังก์ชั่นและการพูด syntactically มีความแตกต่างระหว่างฟังก์ชั่นที่มีต้นแบบint foo(void)และint foo(void *) ? ฉันรู้ว่าความแตกต่างระหว่างตัวอย่างเช่นint bar(int)และint bar(int *)- หนึ่งของพวกเขากำลังมองหา int และอื่น ๆ ที่กำลังมองหาตัวชี้ int มีvoidพฤติกรรมแบบเดียวกันหรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.