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

สำหรับคำถามเกี่ยวกับการเขียนโปรแกรมใน ECMAScript (JavaScript / JS) และภาษา / การใช้งานต่างๆ (ไม่รวม ActionScript) แท็กนี้ไม่ค่อยได้ใช้คนเดียว แต่ส่วนใหญ่มักจะเกี่ยวข้องกับแท็ก [node.js], [jquery], [json] และ [html]

4
JavaScript Array ที่จะตั้งค่า
MSDN อ้างถึงสิ่งที่เป็นนามธรรมของSet collection ของ JavaScript ฉันมีอาร์เรย์ของวัตถุที่ฉันต้องการแปลงเป็นชุดเพื่อให้ฉันสามารถลบ ( .delete()) องค์ประกอบต่างๆตามชื่อ: var array = [ {name: "malcom", dogType: "four-legged"}, {name: "peabody", dogType: "three-legged"}, {name: "pablo", dogType: "two-legged"} ]; ฉันจะแปลงอาร์เรย์นี้เป็นชุดได้อย่างไร โดยเฉพาะอย่างยิ่งเป็นไปได้ไหมที่จะทำสิ่งนี้โดยไม่ต้องวนซ้ำเหนืออาร์เรย์ด้านบน เอกสารประกอบค่อนข้างขาด (เพียงพอสำหรับชุดสร้างอินสแตนซ์ไม่ใช่สำหรับการแปลง - ถ้าเป็นไปได้) ฉันอาจกำลังคิดถึงการแปลงเป็นแผนที่เพื่อลบทีละคีย์ สิ่งที่ฉันพยายามทำให้สำเร็จคือคอลเล็กชันที่ทำซ้ำได้ซึ่งสามารถเข้าถึงหรือแก้ไขได้โดยการเข้าถึงองค์ประกอบโดยใช้คีย์เป็นหลัก การแปลงจากอาร์เรย์เป็นอีกเป้าหมายหนึ่งเป็นเป้าหมายสูงสุด
161 javascript  arrays  set 

12
วิธีทดสอบประเภทของข้อยกเว้นการโยนใน Jest
ฉันกำลังทำงานกับโค้ดบางอย่างที่ฉันต้องการทดสอบประเภทของข้อยกเว้นที่เกิดจากฟังก์ชัน (เป็น TypeError, ReferenceError ฯลฯ ) กรอบการทดสอบปัจจุบันของฉันคือ AVA และฉันสามารถทดสอบเป็นt.throwsวิธีการโต้แย้งที่สองได้เช่นที่นี่: it('should throw Error with message \'UNKNOWN ERROR\' when no params were passed', (t) => { const error = t.throws(() => { throwError(); }, TypeError); t.is(error.message, 'UNKNOWN ERROR'); }); ฉันเริ่มเขียนการทดสอบของฉันใหม่เป็น Jest และไม่พบวิธีการทำแบบนั้นง่ายๆ เป็นไปได้หรือไม่?


13
แปลง MySql DateTime เป็นรูปแบบวันที่ของ JavaScript
ไม่มีใครรู้ว่าฉันสามารถใช้datetimeค่าชนิดข้อมูลMySQL เช่นYYYY-MM-DD HH:MM:SSและแยกวิเคราะห์หรือแปลงให้ทำงานในDate()ฟังก์ชั่นของจาวาสคริปต์เช่น: - วันที่ ('YYYY, MM, DD, HH, MM, SS); ขอบคุณ!

25
ฉันจะกำหนดเป้าหมายเฉพาะ Internet Explorer 10 สำหรับบางสถานการณ์เช่น CSS เฉพาะ Internet Explorer หรือรหัส JavaScript เฉพาะ Internet Explorer ได้อย่างไร
ฉันจะกำหนดเป้าหมายเฉพาะ Internet Explorer 10 สำหรับบางสถานการณ์เช่น CSS เฉพาะ Internet Explorer หรือรหัส JavaScript เฉพาะ Internet Explorer ได้อย่างไร ฉันลองสิ่งนี้ แต่มันไม่ทำงาน: <!--[if IE 10]> <html class="no-js ie10" lang="en"> <![endif]--> <!--[if !IE]><!--> <html lang="en" class="no-js"> <!--<![endif]--> Internet Explorer 10 ละเว้นความคิดเห็นเงื่อนไขและใช้แทน<html lang="en" class="no-js"><html class="no-js ie10" lang="en">

5
การส่งผ่านคำสั่งเชิงมุมเชิงมุมกับฟังก์ชันในนิพจน์ที่ระบุในแอตทริบิวต์ของคำสั่งสามารถทำได้หรือไม่?
ฉันมีคำสั่งแบบฟอร์มที่ใช้callbackคุณลักษณะที่ระบุกับขอบเขต isolate: scope: { callback: '&' } มันอยู่ภายในng-repeatดังนั้นการแสดงออกที่ฉันผ่านรวมถึงidวัตถุที่เป็นข้อโต้แย้งกับฟังก์ชั่นการโทรกลับ: <directive ng-repeat = "item in stuff" callback = "callback(item.id)"/> เมื่อฉันทำตามคำสั่งเสร็จแล้วจะเรียกใช้$scope.callback()จากฟังก์ชั่นควบคุม สำหรับกรณีส่วนใหญ่สิ่งนี้เป็นเรื่องปกติและทุกอย่างที่ฉันต้องการจะทำ แต่บางครั้งฉันก็ต้องการที่จะเพิ่มการโต้แย้งจากภายในdirectiveตัวเอง มีการแสดงออกเชิงมุมที่จะช่วยให้นี้: $scope.callback(arg2)ส่งผลให้callbackถูกเรียกด้วยarguments = [item.id, arg2]? ถ้าไม่เป็นเช่นนั้นวิธีที่ประณีตที่สุดในการทำเช่นนี้คืออะไร? ฉันพบว่าใช้งานได้: <directive ng-repeat = "item in stuff" callback = "callback" callback-arg="item.id"/> กับ scope { callback: '=', callbackArg: '=' } และคำสั่งโทร $scope.callback.apply(null, [$scope.callbackArg].concat([arg2, arg3]) ); …

6
รับดัชนีองค์ประกอบเป็นลูกที่สัมพันธ์กับพาเรนต์
สมมติว่าฉันมีมาร์กอัปนี้: <ul id="wizard"> <li>Step 1</li> <li>Step 2</li> </ul> และฉันมี jQuery นี้: $("#wizard li").click(function () { // alert index of li relative to ul parent }); ฉันจะรับดัชนีของเด็กที่liเกี่ยวข้องกับผู้ปกครองของมันได้อย่างไรเมื่อคลิกที่li? ตัวอย่างเช่นเมื่อคุณคลิก "ขั้นตอนที่ 1" เครื่องหมายalert"0" จะปรากฏขึ้น
160 javascript  jquery 

18
การดีบัก JavaScript ใน IE7
ฉันต้องดีบัก JavaScript ใน Internet Explorer 7 น่าเสียดายที่ดีบักเกอร์เริ่มต้นนั้นไม่ได้ให้ข้อมูลมากนัก มันบอกหน้าว่าข้อผิดพลาดปรากฏขึ้น (ไม่ใช่สคริปต์ที่เฉพาะเจาะจง) และให้หมายเลขบรรทัดแก่ฉัน ฉันไม่รู้ว่าสิ่งนั้นเกี่ยวข้องกับปัญหาของฉันหรือไม่ มันจะดีถ้ามันแคบลงข้อผิดพลาดกับหมายเลขบรรทัดในสคริปต์เฉพาะ (เช่น Firebug สามารถ) มี addon เพื่อดีบัก JavaScript ใน IE7 เช่น Firebug ทำใน Firefox หรือไม่? ขอบคุณ! ดูสิ่งนี้ด้วย: IE7 มี“ โหมดผู้พัฒนา” หรือปลั๊กอินเช่น Firefox / Chrome / Safari หรือไม่?

5
การจัดการการพึ่งพา JavaScript: npm vs. bower vs. volo [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ คุณจะทำอย่างไรเปรียบเทียบnpm, bowerและvolo? ทั้งสามสามารถใช้เพื่อติดตั้งการพึ่งพา JavaScript สำหรับโครงการ UI ฉันเข้าใจว่าnpmเป็นโหนดที่เฉพาะเจาะจงมากขึ้น ดังนั้นเมื่อจะใช้อะไร npmยังคงยืนอยู่ห่างไกล แต่bowerและvoloดูเหมือนจะแก้ปัญหาเดียวกันว่าถึงแม้ว่าผมไม่สามารถที่จะวาดเส้นระหว่างและnpmbower-volo

6
วิธีการใช้ตัวแปร JavaScript ในตัวเลือก jQuery
ฉันจะใช้ตัวแปร JavaScript เป็นพารามิเตอร์ในตัวเลือก jQuery ได้อย่างไร <script type="text/javascript"> $(function(){ $("input").click(function(){ var x = $(this).attr("name"); $("input[id=x]").hide(); }); }); </script> <input type="text" id="bx"/><input type="button" name="bx"/> <input type="text" id="by"/><input type="button" name="by"/> โดยพื้นฐานสิ่งที่ฉันต้องการจะทำคือการสามารถซ่อนองค์ประกอบที่มีidค่าเท่ากับชื่อขององค์ประกอบที่ถูกคลิก
160 javascript  jquery 

15
ฉันจะจับคู่การเกิดขึ้นหลายครั้งกับ regex ใน JavaScript คล้ายกับ preg_match_all ของ PHP ได้อย่างไร
ฉันพยายามที่จะสตริงเข้ารหัส URL แยกที่มีการสร้างขึ้นของคีย์ = คู่ค่าแยกจากกันโดยทั้งสองหรือ&& รายการต่อไปนี้จะจับคู่เหตุการณ์ที่เกิดขึ้นครั้งแรกโดยแยกคีย์และค่าออกเป็นองค์ประกอบผลลัพธ์แยกต่างหาก: var result = mystring.match(/(?:&|&)?([^=]+)=([^&]+)/) ผลลัพธ์สำหรับสตริง '1111342 = Adam% 20Franco & 348572 = Bob% 20Jones' จะเป็น: ['1111342', 'Adam%20Franco'] การใช้ค่าสถานะโกลบอล 'g' จะจับคู่กับสิ่งที่เกิดขึ้นทั้งหมด แต่จะคืนค่าสตริงย่อยที่จับคู่อย่างสมบูรณ์ไม่ใช่คีย์และค่าที่คั่นด้วย: var result = mystring.match(/(?:&|&)?([^=]+)=([^&]+)/g) ผลลัพธ์สำหรับสตริง '1111342 = Adam% 20Franco & 348572 = Bob% 20Jones' จะเป็น: ['1111342=Adam%20Franco', '&348572=Bob%20Jones'] ในขณะที่ฉันสามารถแยกสตริง&และแยกแต่ละคู่คีย์ / ค่าแต่ละมีวิธีการใช้การสนับสนุนการแสดงออกปกติของ JavaScript เพื่อให้ตรงกับหลายรูปแบบ/(?:&|&)?([^=]+)=([^&]+)/คล้ายกับpreg_match_all()ฟังก์ชั่นของ PHP …
160 javascript  regex 

22
ทำไม isNaN (“”) (สตริงที่มีช่องว่าง) เท่ากับเท็จ
ใน JavaScript ทำไมisNaN(" ")ประเมินfalseแต่isNaN(" x")ประเมินtrue? ฉันประสิทธิภาพการดำเนินงานเชิงตัวเลขในช่องป้อนข้อความและผมตรวจสอบหากสนามnull, หรือ"" NaNเมื่อมีคนพิมพ์ช่องว่างจำนวนหนึ่งลงในฟิลด์การตรวจสอบของฉันล้มเหลวทั้งสามครั้งและฉันสับสนว่าทำไมมันถึงผ่านการisNaNตรวจสอบ
160 javascript  nan 


13
this.setState ไม่ได้รวมสถานะเหมือนที่ฉันคาดไว้
ฉันมีสถานะดังต่อไปนี้: this.setState({ selected: { id: 1, name: 'Foobar' } }); จากนั้นฉันจะอัปเดตสถานะ: this.setState({ selected: { name: 'Barfoo' }}); เนื่องจากsetStateคาดว่าจะรวมฉันจะคาดหวังว่ามันจะเป็น: { selected: { id: 1, name: 'Barfoo' } }; แต่มันกิน id และสถานะคือ: { selected: { name: 'Barfoo' } }; นี่เป็นพฤติกรรมที่คาดหวังหรือไม่และนี่คือวิธีแก้ปัญหาในการอัปเดตคุณสมบัติเดียวของวัตถุสถานะซ้อนกันหรือไม่

12
การแทนที่ฟังก์ชั่น JavaScript ในขณะที่อ้างอิงถึงต้นฉบับ
ฉันมีฟังก์ชั่นa()ที่ฉันต้องการแทนที่ แต่ก็มีการa()ดำเนินการต้นฉบับในลำดับขึ้นอยู่กับบริบท ตัวอย่างเช่นบางครั้งเมื่อฉันสร้างหน้าฉันจะต้องการแทนที่เช่นนี้: function a() { new_code(); original_a(); } และบางครั้งเช่นนี้ function a() { original_a(); other_new_code(); } ฉันจะได้รับสิ่งนั้นoriginal_a()จากภายในรถได้a()อย่างไร? เป็นไปได้ไหม โปรดอย่าแนะนำทางเลือกอื่นสำหรับการขี่มากกว่าด้วยวิธีนี้ฉันรู้จากหลาย ๆ ฉันถามเกี่ยวกับวิธีนี้โดยเฉพาะ

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