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

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

30
JavaScript เป็นภาษาแบบอ้างอิงหรืออ้างอิงผ่านค่าหรือไม่
ประเภทดั้งเดิม (หมายเลข, สตริง, ฯลฯ ) จะถูกส่งผ่านตามค่า แต่วัตถุไม่เป็นที่รู้จักเพราะพวกเขาสามารถเป็นได้ทั้งผ่านโดยค่า (ในกรณีที่เราพิจารณาว่าตัวแปรถือวัตถุในความเป็นจริงการอ้างอิงถึงวัตถุ ) และการอ้างอิงแบบส่งต่อ (เมื่อเราพิจารณาว่าตัวแปรไปยังวัตถุถือวัตถุเอง) แม้ว่ามันจะไม่สำคัญในตอนท้าย แต่ฉันต้องการที่จะรู้ว่าอะไรคือวิธีที่ถูกต้องในการนำเสนอข้อโต้แย้งผ่านอนุสัญญา มีข้อความที่ตัดตอนมาจากข้อกำหนดของ JavaScript ซึ่งกำหนดสิ่งที่ควรจะเป็นความหมายเกี่ยวกับเรื่องนี้?

13
หยุด setInterval โทรใน JavaScript
ฉันใช้setInterval(fname, 10000);เพื่อเรียกใช้ฟังก์ชันทุก ๆ 10 วินาทีใน JavaScript เป็นไปได้หรือไม่ที่จะหยุดเรียกมันในบางเหตุการณ์? ฉันต้องการให้ผู้ใช้สามารถหยุดการรีเฟรชข้อมูลซ้ำได้

30
ฉันจะหาเอกสารเกี่ยวกับการจัดรูปแบบวันที่ใน JavaScript ได้ที่ไหน [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน2 ปีที่ผ่านมา ฉันสังเกตเห็นว่าnew Date()ฟังก์ชั่นของ JavaScript นั้นฉลาดมากในการยอมรับวันที่ในหลายรูปแบบ Xmas95 = new Date("25 Dec, 1995 23:15:00") Xmas95 = new Date("2009 06 12,12:52:39") Xmas95 = new Date("20 09 2006,12:52:39") ฉันไม่พบเอกสารที่แสดงรูปแบบสตริงที่ถูกต้องทั้งหมดในขณะที่เรียกnew Date()ใช้ฟังก์ชัน นี่คือการแปลงสตริงเป็นวันที่ ถ้าเราดูที่ด้านตรงข้ามนั่นคือการแปลงวัตถุวันที่เป็นสตริงจนกระทั่งตอนนี้ฉันอยู่ภายใต้การแสดงผลที่ JavaScript ไม่มี API ในตัวเพื่อจัดรูปแบบวัตถุวันที่ให้เป็นสตริง หมายเหตุของบรรณาธิการ:วิธีการต่อไปนี้เป็นความพยายามของผู้ถามที่ทำงานบนเบราว์เซอร์เฉพาะ แต่ไม่สามารถใช้งานได้โดยทั่วไป ดูคำตอบในหน้านี้เพื่อดูวิธีแก้ไขปัญหาจริง วันนี้ฉันเล่นกับtoString()วิธีการเกี่ยวกับวัตถุวันที่และน่าแปลกใจที่มันมีจุดประสงค์ในการจัดรูปแบบวันที่เพื่อสตริง var d1 = new Date(); d1.toString('yyyy-MM-dd'); …

14
เมื่อใดที่คุณควรใช้ Escape แทน encodeURI / encodeURIComponent
เมื่อเข้ารหัสสตริงการสืบค้นที่จะส่งไปยังเว็บเซิร์ฟเวอร์ - เมื่อใดที่คุณใช้escape()และเมื่อใดที่คุณจะใช้encodeURI()หรือencodeURIComponent(): ใช้หลบหนี: escape("% +&="); หรือ ใช้ encodeURI () / encodeURIComponent () encodeURI("http://www.google.com?var1=value1&var2=value2"); encodeURIComponent("var1=value1&var2=value2");


12
มีตัวดำเนินการ“ null coalescing” ใน JavaScript หรือไม่
มีตัวดำเนินการรวมศูนย์ว่างใน Javascript หรือไม่ ตัวอย่างเช่นใน C # ฉันสามารถทำได้: String someString = null; var whatIWant = someString ?? "Cookies!"; การประมาณที่ดีที่สุดที่ฉันสามารถรู้ได้สำหรับ Javascript คือการใช้ตัวดำเนินการตามเงื่อนไข: var someString = null; var whatIWant = someString ? someString : 'Cookies!'; ซึ่งเป็น IMHO sorta icky ฉันทำได้ดีกว่าไหม

30
วิธีที่ดีที่สุดในการเพิ่มตัวเลือกให้กับการเลือกจากเป็นวัตถุ JavaScript ด้วย jQuery คืออะไร?
วิธีที่ดีที่สุดในการเพิ่มตัวเลือกไปยัง<select>วัตถุจาวาสคริปต์โดยใช้ jQuery คืออะไร? ฉันกำลังมองหาสิ่งที่ฉันไม่ต้องการให้มีปลั๊กอิน แต่ฉันก็จะสนใจปลั๊กอินที่อยู่ข้างนอกด้วย นี่คือสิ่งที่ฉันทำ: selectValues = { "1": "test 1", "2": "test 2" }; for (key in selectValues) { if (typeof (selectValues[key] == 'string') { $('#mySelect').append('<option value="' + key + '">' + selectValues[key] + '</option>'); } } วิธีแก้ปัญหาที่เรียบง่าย / สะอาด: นี่คือmatdumsa รุ่นที่ทำความสะอาดและเรียบง่าย: $.each(selectValues, function(key, value) { $('#mySelect') .append($('<option>', …


20
คุณจะใช้ตัวแปรในการแสดงออกปกติได้อย่างไร
ฉันต้องการสร้างString.replaceAll()วิธีการใน JavaScript และฉันคิดว่าการใช้ regex จะเป็นวิธีที่สั้นที่สุดที่จะทำ อย่างไรก็ตามฉันไม่สามารถหาวิธีส่งตัวแปรไปยัง regex ได้ ฉันจะทำอย่างนี้แล้วซึ่งจะแทนที่ทุกกรณีของกับ"B""A" "ABABAB".replace(/B/g, "A"); แต่ฉันต้องการทำสิ่งนี้: String.prototype.replaceAll = function(replaceThis, withThis) { this.replace(/replaceThis/g, withThis); }; แต่แน่นอนว่าสิ่งนี้จะแทนที่ข้อความเท่านั้น"replaceThis"... ดังนั้นฉันจะส่งตัวแปรนี้ไปยังสตริง regex ของฉันได้อย่างไร
1378 javascript  regex 

30
ไม่สามารถผูกกับ 'ngModel' ได้เนื่องจากไม่ใช่คุณสมบัติที่รู้จักของ 'อินพุต'
ฉันมีข้อผิดพลาดต่อไปนี้เมื่อเรียกใช้แอพพลิเคชั่น Angular ของฉันแม้ว่าส่วนประกอบจะไม่แสดงก็ตาม ฉันต้องแสดงความคิดเห็น<input>เพื่อที่แอพของฉันจะทำงาน zone.js:461 Unhandled Promise rejection: Template parse errors: Can't bind to 'ngModel' since it isn't a known property of 'input'. (" <div> <label>Created:</label> <input type="text" [ERROR ->][(ngModel)]="test" placeholder="foo" /> </div> </div>"): InterventionDetails@4:28 ; Zone: <root> ; Task: Promise.then ; Value: ฉันกำลังดูฮีโร่ตัวพลั่ว แต่ฉันไม่เห็นความแตกต่างจากรหัสของฉัน นี่คือไฟล์ส่วนประกอบ: import { Component, EventEmitter, …

21
คุณเข้าถึงกลุ่มที่ตรงกันในนิพจน์ปกติของ JavaScript ได้อย่างไร
ฉันต้องการจับคู่ส่วนของสตริงโดยใช้นิพจน์ทั่วไปจากนั้นเข้าถึงสตริงย่อยที่วงเล็บ: var myString = "something format_abc"; // I want "abc" var arr = /(?:^|\s)format_(.*?)(?:\s|$)/.exec(myString); console.log(arr); // Prints: [" format_abc", "abc"] .. so far so good. console.log(arr[1]); // Prints: undefined (???) console.log(arr[0]); // Prints: format_undefined (!!!) ผมทำอะไรผิดหรือเปล่า? ฉันพบว่าไม่มีอะไรผิดปกติกับรหัสนิพจน์ทั่วไปด้านบน: สตริงจริงที่ฉันทดสอบเทียบคือ: "date format_%A" การรายงานว่า "% A" ไม่ได้กำหนดดูเหมือนว่าจะเป็นพฤติกรรมที่แปลกมาก แต่ไม่เกี่ยวข้องโดยตรงกับคำถามนี้ดังนั้นฉันจึงเปิดขึ้นมาใหม่ทำไมสตริงย่อยที่ตรงกันจึงกลับมา "ไม่ได้กำหนด" ใน JavaScript . ปัญหาคือconsole.logใช้พารามิเตอร์ของมันเช่นprintfคำสั่งและเนื่องจากสตริงที่ฉันบันทึก …
1368 javascript  regex 

30
วิธีจัดการคำขอเปลี่ยนเส้นทางหลังจากการโทร jQuery Ajax
ฉันใช้$.post()โทร servlet โดยใช้ Ajax แล้วใช้ส่วน HTML ที่เป็นผลลัพธ์เพื่อแทนที่divองค์ประกอบในหน้าปัจจุบันของผู้ใช้ อย่างไรก็ตามหากเซสชันหมดเวลาเซิร์ฟเวอร์จะส่งคำสั่งเปลี่ยนเส้นทางเพื่อส่งผู้ใช้ไปยังหน้าเข้าสู่ระบบ ในกรณีนี้ jQuery กำลังแทนที่divองค์ประกอบด้วยเนื้อหาของหน้าเข้าสู่ระบบบังคับให้ผู้ใช้มองเห็นฉากที่หายากแน่นอน ฉันจะจัดการคำสั่งเปลี่ยนเส้นทางจากการโทร Ajax ด้วย jQuery 1.2.6 ได้อย่างไร

30
วิธีผสานสองอาร์เรย์ใน JavaScript และรายการที่ซ้ำกัน
ฉันมีสอง JavaScript อาร์เรย์: var array1 = ["Vijendra","Singh"]; var array2 = ["Singh", "Shakya"]; ฉันต้องการผลลัพธ์ที่จะเป็น: var array3 = ["Vijendra","Singh","Shakya"]; อาร์เรย์เอาต์พุตควรลบคำที่ซ้ำออกไป ฉันจะรวมสองอาร์เรย์ใน JavaScript เพื่อให้ฉันได้รับเฉพาะรายการที่ไม่ซ้ำกันจากแต่ละอาร์เรย์ในลำดับเดียวกันพวกเขาถูกแทรกลงในอาร์เรย์เดิมได้อย่างไร
1365 javascript  arrays  merge 


12
ทำไมองค์ประกอบสคริปต์ที่ปิดตัวเองไม่ทำงาน
สาเหตุที่เบราว์เซอร์ไม่รู้จักอย่างถูกต้อง: <script src="foobar.js" /> <!-- self-closing script element --> เป็นที่รู้จักเท่านั้น: <script src="foobar.js"></script> สิ่งนี้ทำลายแนวคิดของ XHTML ที่สนับสนุนหรือไม่ หมายเหตุ: คำสั่งนี้ถูกต้องอย่างน้อยสำหรับ IE ทั้งหมด (6-8 beta 2)

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