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

JavaScript (เพื่อไม่ให้สับสนกับ Java) เป็นภาษาระดับสูง, ไดนามิก, หลายกระบวนทัศน์, ภาษาที่พิมพ์น้อยที่ใช้สำหรับทั้งฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์สคริปต์ ใช้แท็กนี้สำหรับคำถามเกี่ยวกับการใช้งานทั่วไปของ ECMAScript, JavaScript, JScript ฯลฯ โดยทั่วไปแล้ว JS ไม่ได้อ้างถึง ECMA-cousin, ActionScript

2
ฉันจะใช้ทักษะการเขียนโปรแกรมของฉันให้ดีได้อย่างไร
ในฤดูใบไม้ร่วงนี้เว็บไซต์ขนาดเล็กสองแห่งของฉันควรสร้างประมาณ $ 1,200 ต่อเดือนโดยมีการป้อนข้อมูลน้อยที่สุด / เป็นศูนย์ซึ่งเพียงพอสำหรับฉันที่จะใช้ชีวิตอย่างสะดวกสบาย แทนที่จะเริ่มดำเนินธุรกิจอื่นฉันอยากจะใช้เวลาสองสามปีข้างหน้าในการทำสิ่งที่ดีจริงๆหรือช่วยเหลือผู้อื่นที่ต้องการ ฉันต้องการใช้เวลา 4 หรือ 5 ปีทุ่มเทเวลาให้กับสิ่งที่สมควรและทำอย่างเต็มที่เท่าที่จะทำได้เพื่อช่วยในการพัฒนาเว็บและทักษะการเขียนโปรแกรมที่ฉันมีอยู่แล้ว ปัญหาคือฉันไม่รู้ว่าจะเริ่มจากตรงไหน ฉันไม่มีความคิดที่ยอดเยี่ยมเกี่ยวกับตัวฉันเองและไม่เชื่อในองค์กรการกุศลขนาดใหญ่มากมาย โดยหลักการแล้วฉันต้องการค้นหาโครงการขนาดเล็กที่ทุกคนไม่ได้รับค่าตอบแทนและมุ่งเน้นไปที่การช่วยเหลือ มีองค์กรขนาดเล็กเช่นนี้หรือไม่? ใครบ้างมีความคิดสำหรับโครงการ / เว็บไซต์ / แอพที่สามารถช่วยเหลือผู้คนที่ต้องการพวกเขาต้องการให้ฉันทำงานหรือทำงานกับพวกเขา ฉันรู้ว่านี่ไม่ใช่ StackOverflow ทั่วไป 2 + 2 =? พิมพ์คำถามและพวกคุณบางคนจะอยากลบ แต่พิจารณาลักษณะการกุศลของอุตสาหกรรมไอที (ดูที่ตัวเองดังนั้น) นี่เป็นคำถามที่เกี่ยวข้องมากกับนักพัฒนาหลายคนทั้งตอนนี้หรือ ณ จุดหนึ่งในอาชีพของพวกเขา เมื่อพิจารณาถึงเหตุการณ์ล่าสุดในญี่ปุ่นคำถามนี้มีความเกี่ยวข้องกับคนจำนวนมากที่มองหาวิธีที่พวกเขาสามารถช่วยเหลือผู้อื่นด้วยทักษะ / เวลาที่พวกเขามี รอคอยที่จะอ่านความคิด / คำตอบของคุณจริงๆขอบคุณพวกคุณ
13 c#  java  php  javascript  jquery 

6
คำที่ใช้อธิบายฟังก์ชั่น / วิธีที่แก้ไขวัตถุที่ถูกเรียกนั้นคืออะไร?
ขออภัยสำหรับคำถามทั่วไป ฉันค้นหาทั่วและพบกระทู้จำนวนมากที่คล้ายกันนี้ แต่ไม่ใช่หนึ่งที่ตอบคำถามเฉพาะของฉัน - บางทีอาจเป็นเพราะคำที่ฉันค้นหาไม่มีอยู่ เพื่อนคนหนึ่งของฉันคือการเรียนรู้การเขียนโปรแกรมจาวาสคริปต์โดยเฉพาะและเขาถามฉันว่าทำไมมันถึงไม่ทำงาน: var a = "Hello World"; a.replace("Hello", "Goodbye"); console.log(a) // Logs "Hello World" เหตุผลเป็นเพราะreplaceไม่ได้แก้ไขaเนื่องจากสตริงไม่เปลี่ยนรูปใน JavaSript เพราะมันส่งคืนสตริงคุณต้องทำอะไรบางอย่างเช่น ... var a = "Hello World"; a = a.replace("Hello", "Goodbye"); console.log(a); // Logs "Goodbye World" อย่างไรก็ตามทางเลือกคือฟังก์ชั่นเช่นจาวาสคริปต์reverse()เพราะมันจะทำการแก้ไขสิ่งที่เรียกว่า ตัวอย่างเช่น: var fruits = ["Apples", "Oranges", "Bananas"]; fruits.reverse(); console.log(fruits) // ["Bananas", "Oranges", "Apples"] …

6
แอพพลิเคชั่น JavaScript ขนาดใหญ่ควรมีโครงสร้างอย่างไร?
เมื่อเร็ว ๆ นี้ฉันได้แสดงปลั๊กอิน JavaScript บางรายการที่เขียนขึ้นสำหรับ OBIEE Mobile App Developer รวมถึงห้องสมุดที่กำหนดเองสำหรับโครงการต่างๆ มาจากพื้นหลังของ OOP ฉันสับสนเล็กน้อยเกี่ยวกับโครงสร้างของโครงการเหล่านี้ ฉันเห็นไฟล์ที่มีความยาวหลายพันบรรทัด ฉันคุ้นเคยกับการแยกสิ่งต่าง ๆ เป็นไฟล์และคลาส แต่ฉันเข้าใจว่านี่เป็นกรอบงานที่แตกต่างกัน - สำหรับขนาดไฟล์เป็นปัญหา - แต่ต้องมีวิธีที่ดีกว่าในการทำทั้งหมดหรือไม่ ความยาวของสคริปต์ไม่เพียงส่งผลต่อความสามารถในการอ่านและการบำรุงรักษา แต่ยังรวมถึงความเข้าใจโดยทั่วไปของบุคคลว่าโปรแกรมทำงานอย่างไร แอปพลิเคชันขนาดใหญ่มีโครงสร้างอย่างไร รูปแบบการออกแบบ OOP ทั่วไปสำหรับสิ่งนี้?

1
Google หมายถึงอะไรที่นี่เมื่อพวกเขาพูดว่า“ อย่าคัดลอกและวางรหัสนี้”
นี่คือข้อความที่ตัดตอนมาจากโค้ดจาก recaptcha API ของ Google ( https://www.google.com/recaptcha/api.js ): /* PLEASE DO NOT COPY AND PASTE THIS CODE. */ (function() { if (!window['___grecaptcha_cfg']) { window['___grecaptcha_cfg'] = {}; }; if (!window['___grecaptcha_cfg']['render']) { window['___grecaptcha_cfg']['render'] = 'onload'; }; window['__google_recaptcha_client'] = true; var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://www.gstatic.com/recaptcha/api2/r20160314182818/recaptcha__it.js'; …

3
การแข่งขันทดสอบหน่วย
นายจ้างของฉันใช้การแข่งขันแบบทดสอบรายวัน หนึ่งวันเต็มจะทุ่มเทให้กับการเขียนแบบทดสอบหน่วย - แน่นอนเราทำการทดสอบเพิ่มเติมตลอดทั้งเดือน แต่นี่เป็นทั้งวัน - และ "ผู้ชนะ" ของการแข่งขันจะได้รับรางวัล อย่างไรก็ตามเราพบว่ามันยากที่จะตัดสินว่าใครเป็นผู้ชนะ เรากำหนดคะแนนสำหรับแต่ละกรณีทดสอบ ดังนั้นถ้าคุณเขียนการทดสอบหน่วยเช่นนี้ ... for (int i = 0; i < 100; i++) { assertTrue(i*i, square(i)); } คุณจะได้รับ 100 คะแนน เห็นได้ชัดว่านี่เป็นตัวอย่างง่าย ๆ แต่มันแสดงให้เห็นถึงปัญหากับการกำหนด "คะแนน" ให้กับแต่ละกรณีทดสอบ เราเป็นร้านค้า Java & Javascript เป็นหลัก ดังนั้นฉันจึงแนะนำการนับจำนวนสาขารหัสที่ทดสอบเป็นเมตริก เราสามารถนับจำนวนสาขาที่ทดสอบผ่านเครื่องมือครอบคลุมรหัสได้อย่างง่ายดาย (เช่น EclEmma) อย่างไรก็ตามไม่แน่ใจว่าเราจะทำอย่างไรกับการทดสอบซีลีเนียมของเราและรับรหัสที่ครอบคลุมในแหล่ง Javascript (ความคิดใด ๆ ?) ไม่มีใครมีข้อเสนอแนะใด ๆ …

4
มีวิธีที่ดีกว่าในการเขียนการทดสอบหน่วยกว่าชุดของ 'AssertEquals' หรือไม่?
นี่คือตัวอย่างพื้นฐานของการทดสอบหน่วยของฉันที่ต้องใช้โดยใช้ qunit: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> <link rel="stylesheet" href="qunit/qunit-1.13.0.css"> <script src = "qunit/qunit-1.13.0.js"></script> <script src = "../js/fuzzQuery.js"></script> <script> test("Fuzz Query Basics", function() { equal(fuzzQuery("name:(John Smith)"), "name:(John~ Smith~)"); equal(fuzzQuery("name:Jon~0.1"), "name:Jon~0.1"); equal(fuzzQuery("Jon"), "Jon~"); //etc } ); </script> </head> <body> …

1
Google Blink (WebKit fork ใหม่): ความหมายของ“ การย้าย DOM เข้าสู่ Javascript” หรือไม่
จากบล็อกกะพริบตา : ในที่สุดเราต้องการสำรวจแนวคิดที่กว้างขึ้นเช่นการย้าย Document Object Model (DOM) ทั้งหมดไปยัง JavaScript สิ่งนี้หมายความว่า? หมายความว่า DOM ของ WebKit ไม่ได้เข้ารหัสใน JavaScript แต่เป็นภาษาอื่นบ้างไหม หมายความว่าพวกเขาต้องการเปิดเผย accessors สาธารณะเพิ่มเติมให้ DOM หรือไม่ หรืออะไร?
12 javascript  dom 

2
ฟังก์ชั่นการเขียนโปรแกรมปฏิกิริยา - เฟย์แสดงออกได้เพียงพอหรือไม่?
ดังนั้นฉันจึงทำไคลเอนต์ javascript / html ที่เกี่ยวข้องอย่างเป็นธรรมด้วยการโทร ajax จำนวนมากและการโทรกลับ -mem ฉันสนุกสนานกับความคิดที่จะใช้ Fay เพื่อจุดประสงค์นี้ ฉันรู้เรื่อง Elm แล้ว พยายามและชอบองค์ประกอบ FRP ตอนนี้ฉันต้องการทราบว่าโครงสร้างที่คล้ายกันเป็นไปได้ใน Fay หรือไม่ มีตัวอย่างที่เป็นรูปธรรมของ FRP ในเรื่องนี้บ้างไหม ณ จุดนี้? เทคโนโลยีบางอย่างที่เกี่ยวข้อง: Arrowlets , arrowised FRP ใน javascript FlapJaxอีกทางเลือกหนึ่งของจาวาสคริปต์ Bacon.js , FRP ใน javascript ทางออกหนึ่งที่เป็นไปได้โดยใช้เบคอน ด้วยการสาธิต

4
อะไรคือข้อดีของ "วิธีการรวมกัน" ของ Getter / Setter VS แต่ละวิธี
นี่คือสิ่งที่ฉันเรียกวิธีการ "รวม" getter / setter (จาก jQuery): var foo = $("<div>This is my HTML</div>"), myText; myText = foo.text(); // myHTML now equals "This is my HTML" (Getter) foo.text("This is a new value"); // The text now equals "This is a new value") นี่คือตรรกะเดียวกันกับวิธีการแยก (ทางทฤษฎี): var foo = $("<div>This is my …

2
ค้นหาพิกัดใหม่โดยใช้จุดเริ่มต้นระยะทางและมุม
ตกลงว่าฉันมีจุดประสานงาน var coordinate = { x: 10, y: 20 }; ตอนนี้ฉันมีระยะทางและมุมหนึ่ง var distance = 20; var angle = 72; ปัญหาที่ฉันพยายามแก้ไขคือถ้าฉันต้องการเดินทาง 20 คะแนนในทิศทางของมุมจากพิกัดเริ่มต้นฉันจะค้นหาพิกัดใหม่ของฉันได้อย่างไร ฉันรู้ว่าคำตอบนั้นเกี่ยวข้องกับสิ่งต่าง ๆ เช่นไซน์ / โคไซน์เพราะฉันเคยรู้วิธีการทำสิ่งนี้ แต่ฉันลืมสูตรไปแล้ว ใครช่วยได้บ้าง

2
Webkit เป็น GUI ใน. Net / Mono
ฉันต้องการสร้างแอปพลิเคชันข้ามแพลตฟอร์มซึ่งจะมีเว็บไซต์ที่แอปพลิเคชันเดสก์ท็อป (Windows, iOS, Linux) จะพูดคุยกับเซิร์ฟเวอร์และทำให้ข้อมูลผู้ใช้ตรงกัน จนถึงตัวเลือกที่ฉันเห็นคือ: เขียน GUI พื้นฐานสำหรับแต่ละ 3 ระบบปฏิบัติการดังนั้นฉันจะมีรหัสฐาน 3 GUI (และระบบแบ็กเอนด์เดียว) ใช้บางอย่างเช่น GTK ดังนั้นฉันจึงสามารถใช้ระบบเดียวได้พร้อมการสนับสนุนในแพลตฟอร์มที่กล่าวถึงทั้งหมด แต่ข้อที่สามที่ฉันไม่สามารถหาข้อมูลได้มากนัก (บางทีฉันไม่ได้ค้นหาคำศัพท์ที่เหมาะสมเนื่องจากฉันยังใหม่กับ C # และ. Net) คือมีหน้าต่างที่มีอินสแตนซ์ WebKit ฝังอยู่ในตัว ซึ่งจะทำให้ฉันสามารถใช้ระบบ GUI เดียวกับที่ฉันจะใช้สำหรับเว็บไซต์ ซึ่งจะทำให้แอปไคลเอนต์และเว็บไซต์ดูใกล้เคียงกันมากที่สุดเพื่อให้ผู้ใช้คุ้นเคยกับอินเทอร์เฟซ ตัวเลือกสุดท้ายนี้มีความน่าเชื่อถือของ WebKit หรือไม่ ฉันรู้จัก JavaScript / HTML ดีแล้วและถ้าฉันสามารถใช้ความรู้นั้นเพื่อสร้างอินเทอร์เฟซได้ นอกจากนี้ยังเป็นวิธีที่ยอดเยี่ยมในการอนุญาตให้ผู้ใช้ปรับแต่งส่วนต่อประสานกับปลั๊กอินและพวกเขาสามารถซิงค์การตั้งค่า UI ใด ๆ จากท้องถิ่นกับเว็บ
12 c#  .net  javascript  gui  mono 

3
ข้อผิดพลาดหรือข้อผิดพลาดที่แตกต่างกันเป็นอาร์กิวเมนต์แรกหรือไม่
เรา (และห้องสนทนา JS SO) ได้พูดคุยกับ @rlemon เมื่อหลายวันก่อนเกี่ยวกับห้องสมุดLittle-XHRของเขาเกี่ยวกับการจัดการข้อผิดพลาด โดยทั่วไปเราต้องการตัดสินใจว่าควรใช้รูปแบบการจัดการข้อผิดพลาดใด: xhr.get({ // Some parameters, and then success: function(data) {}, failure: function(data) {} }) หรือ: xhr.get({ // Some parameters, and then callback: function(err, data) {} }) หนึ่งจะเหมือน jQuery มากขึ้นในขณะที่อื่น ๆ ที่เป็นเหมือนโหนด บางคนบอกว่ารูปแบบแรกทำให้คุณคิดมากขึ้นเกี่ยวกับการจัดการข้อผิดพลาด ฉันคิดว่าตรงกันข้ามเพราะคุณอาจลืมฟังก์ชั่นการโทรกลับอื่น ๆ ในขณะที่การโต้แย้งมักจะอยู่ในรูปแบบที่สอง ความเห็น / ข้อได้เปรียบ / ข้อเสียเปรียบเกี่ยวกับทั้งสองรูปแบบเหล่านี้หรือไม่

6
แบบแผนการตั้งชื่อ Javascript
ฉันมาจากพื้นหลัง Java และฉันใหม่กับ JavaScript ฉันสังเกตเห็นวิธีการจาวาสคริปต์หลายวิธีโดยใช้ชื่อพารามิเตอร์อักขระเดียวเช่นในตัวอย่างต่อไปนี้ doSomething(a,b,c) ฉันไม่ชอบ แต่นักพัฒนา JavaScript คนอื่นเชื่อฉันว่าสิ่งนี้ทำเพื่อลดขนาดไฟล์โดยสังเกตว่าไฟล์ JavaScript จะต้องถูกถ่ายโอนไปยังเบราว์เซอร์ จากนั้นฉันก็พบว่าตัวเองกำลังพูดคุยกับนักพัฒนาคนอื่น เขาแสดงให้ฉันเห็นวิธีที่ Firefox จะตัดทอนชื่อตัวแปรเพื่อโหลดหน้าเว็บเร็วขึ้น นี่เป็นวิธีปฏิบัติมาตรฐานสำหรับเว็บเบราว์เซอร์หรือไม่? การตั้งชื่อการแปลงแนวปฏิบัติที่ดีที่สุดที่ควรปฏิบัติเมื่อโปรแกรมใน JavaScript คืออะไร? ความยาวของตัวระบุสำคัญหรือไม่และถ้าเป็นเช่นนั้น

3
เหตุใดเราจึงสามารถลบคุณสมบัติภายในของวัตถุทั่วโลกได้
ฉันอ่าน es5 ในวันนี้และพบว่าแอตทริบิวต์ [[กำหนดค่าได้]] ในคุณสมบัติบิวด์อินบางตัวของออบเจ็กต์ทั่วโลกถูกตั้งค่าเป็นจริงซึ่งหมายความว่าเราสามารถลบคุณสมบัติเหล่านี้ได้ ตัวอย่างเช่น: วิธีการเข้าร่วมของวัตถุ Array.prototype มีคุณสมบัติ {[[Writable]]:true, [[Enumerable]]: false, [[Configurable]]: true} ดังนั้นเราสามารถลบวิธีการเข้าร่วมสำหรับ Array ได้อย่างง่ายดายเช่น: delete Array.prototype.join; alert([1,2,3].join); การแจ้งเตือนจะแสดงundefinedในโครเมียม 17 ของฉัน firefox 9 คือ 10 แม้แต่ ie6; ใน Chrome 15 & ซาฟารี 5.1.1 แอตทริบิวต์ [[กำหนดค่าได้]] ถูกตั้งค่าเป็นจริงและผลลัพธ์การลบก็เป็นจริงเช่นกัน แต่ผลลัพธ์สุดท้ายยังคงfunction(){[native code]}อยู่ ดูเหมือนว่านี่เป็นข้อผิดพลาดและโครเมียมแก้ไขได้ ฉันไม่ได้สังเกตสิ่งนั้นมาก่อน ในความคิดของฉันลบฟังก์ชั่นในตัวในรหัสผู้ใช้เป็นอันตรายและจะทำให้เกิดข้อบกพร่องมากมายเมื่อทำงานกับผู้อื่นดังนั้นทำไม ECMAScript ตัดสินใจเรื่องนี้?
12 javascript 

3
สิ่งที่ควรทดสอบใน Javascript
ที่ทำงานเราเพิ่งเริ่มต้นกับแอปพลิเคชันที่ใช้ Javascript เป็นหลัก (จริงๆแล้วใช้ Coffeescript แต่ก็ยัง) ซึ่งฉันได้ใช้ระบบทดสอบอัตโนมัติโดยใช้ JsTestDriver และแฟบริค เราไม่เคยเขียนอะไรเกี่ยวกับ Javascript มากขนาดนี้มาก่อนจนถึงตอนนี้เราไม่เคยทำการทดสอบ Javascript เลย ฉันไม่แน่ใจว่าเราควรทำการทดสอบอะไรในการทดสอบหน่วยของเรา เราได้เขียนปลั๊กอิน JQuery สำหรับสิ่งต่าง ๆ ดังนั้นจึงค่อนข้างชัดเจนว่าควรตรวจสอบความถูกต้องให้มากที่สุดกับ JsTestDriver แต่ทุกคนในทีมของฉันดูเหมือนจะคิดว่าเราควรทดสอบ Javascript ระดับหน้าเว็บด้วย ฉันไม่คิดว่าเราควรทดสอบ Javascript ในระดับหน้าเป็นการทดสอบหน่วย แต่ใช้ระบบเช่น Selenium เพื่อยืนยันว่าทุกอย่างทำงานได้ตามที่คาดไว้ เหตุผลหลักของฉันสำหรับเรื่องนี้คือในขณะนี้การทดสอบ Javascript ในระดับหน้ารับประกันว่าจะล้มเหลวผ่าน JsTestDriver เพราะพวกเขากำลังพยายามเข้าถึงองค์ประกอบใน DOM ที่ไม่มีอยู่จริง ดังนั้นสิ่งที่ควรทดสอบหน่วยใน Javascript?

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