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

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

4
ประสิทธิภาพของ Objects / Arrays ใน JavaScript เป็นอย่างไร? (เฉพาะสำหรับ Google V8)
ประสิทธิภาพที่เกี่ยวข้องกับ Arrays และ Objects ใน JavaScript (โดยเฉพาะ Google V8) น่าสนใจมากสำหรับเอกสาร ฉันไม่พบบทความที่ครอบคลุมเกี่ยวกับหัวข้อนี้ที่ใดก็ได้บนอินเทอร์เน็ต ฉันเข้าใจว่าออบเจ็กต์บางตัวใช้คลาสเป็นโครงสร้างข้อมูลพื้นฐาน หากมีคุณสมบัติจำนวนมากบางครั้งถือว่าเป็นตารางแฮช? ฉันเข้าใจด้วยว่าบางครั้ง Arrays จะถือว่าเหมือนกับอาร์เรย์ C ++ (เช่นการจัดทำดัชนีแบบสุ่มอย่างรวดเร็วการลบและการปรับขนาดอย่างช้าๆ) และในบางครั้งพวกมันจะได้รับการปฏิบัติเหมือน Objects มากขึ้น (การจัดทำดัชนีที่รวดเร็วการแทรก / ลบอย่างรวดเร็วหน่วยความจำที่มากขึ้น) และบางครั้งอาจถูกจัดเก็บเป็นรายการที่เชื่อมโยง (เช่นการจัดทำดัชนีแบบสุ่มช้าการลบ / การแทรกอย่างรวดเร็วที่จุดเริ่มต้น / จุดสิ้นสุด) ประสิทธิภาพที่แม่นยำของการดึงข้อมูล Array / Object และการปรับแต่งใน JavaScript คืออะไร? (เฉพาะสำหรับ Google V8) โดยเฉพาะอย่างยิ่งผลกระทบด้านประสิทธิภาพของ: การเพิ่มคุณสมบัติให้กับวัตถุ การลบคุณสมบัติออกจากวัตถุ การสร้างดัชนีคุณสมบัติในวัตถุ การเพิ่มรายการใน Array การลบรายการออกจาก Array การสร้างดัชนีรายการใน …

9
Backbone.js รับและตั้งค่าแอตทริบิวต์วัตถุที่ซ้อนกัน
ฉันมีคำถามง่ายๆเกี่ยวกับฟังก์ชันรับและตั้งค่า Backbone.js 1) ด้วยรหัสด้านล่างฉันจะ 'get' หรือ 'set' obj1.myAttribute1 โดยตรงได้อย่างไร? คำถามอื่น: 2) ในโมเดลนอกเหนือจากอ็อบเจ็กต์ค่าเริ่มต้นฉันจะ / ควรประกาศคุณลักษณะอื่น ๆ ของโมเดลของฉันได้ที่ไหนเพื่อให้สามารถเข้าถึงได้ผ่านเมธอด get and set ของ Backbone var MyModel = Backbone.Model.extend({ defaults: { obj1 : { "myAttribute1" : false, "myAttribute2" : true, } } }) var MyView = Backbone.View.extend({ myFunc: function(){ console.log(this.model.get("obj1")); //returns the obj1 object …

5
Google Maps API v3: ฉันจะเปลี่ยนไอคอนเครื่องหมายแบบไดนามิกได้อย่างไร
เมื่อใช้ Google Maps API v3 ฉันจะเปลี่ยนไอคอนเครื่องหมายโดยทางโปรแกรมได้อย่างไร สิ่งที่ฉันต้องการจะทำคือเมื่อมีคนวางเมาส์เหนือลิงก์เพื่อให้ไอคอนเครื่องหมายที่เกี่ยวข้องบนแผนที่เปลี่ยนสีเพื่อแสดงเครื่องหมายที่เป็นปัญหา โดยพื้นฐานแล้วฟังก์ชันเดียวกับที่ Roost ทำ เมื่อคุณวางเมาส์เหนือรายการบ้านทางด้านซ้ายเครื่องหมายที่เกี่ยวข้องทางด้านขวาจะเปลี่ยนสี

7
เหตุใดฉันจึงสามารถเพิ่มคุณสมบัติที่มีชื่อให้กับอาร์เรย์ราวกับว่ามันเป็นวัตถุ
ข้อมูลโค้ดสองรายการต่อไปนี้ดูเหมือนจะเทียบเท่ากับฉัน: var myArray = Array(); myArray['A'] = "Athens"; myArray['B'] = "Berlin"; และ var myObject = {'A': 'Athens', 'B':'Berlin'}; เพราะทั้งคู่มีพฤติกรรมเหมือนกันและtypeof(myArray) == typeof(myObjects)(ทั้งคู่ให้ผล 'วัตถุ') มีความแตกต่างระหว่างตัวแปรเหล่านี้หรือไม่?

17
วิธีเขียนนิพจน์ ternary operator (aka if) โดยไม่ต้องทำซ้ำ
ตัวอย่างเช่นสิ่งนี้: var value = someArray.indexOf(3) !== -1 ? someArray.indexOf(3) : 0 มีวิธีเขียนที่ดีกว่านี้ไหม อีกครั้งฉันไม่ได้ต้องการคำตอบสำหรับคำถามที่แน่นอนข้างต้นเป็นเพียงตัวอย่างของเวลาที่คุณอาจมีตัวถูกดำเนินการซ้ำ ๆ ในนิพจน์ตัวดำเนินการที่เกี่ยวข้อง ...

11
วิธีเปลี่ยนประเภทองค์ประกอบโดยใช้ jquery
ฉันมีรหัสต่อไปนี้ <b class="xyzxterms" style="cursor: default; ">bryant keil bio</b> ฉันจะเปลี่ยนbแท็กเป็นh1แท็กได้อย่างไร แต่เก็บแอตทริบิวต์และข้อมูลอื่น ๆ ไว้ทั้งหมด
105 javascript  jquery 

2
อาร์เรย์ JavaScript ขนาดใหญ่
อาร์เรย์ใน JavaScript สามารถแก้ไขได้ง่ายมากโดยการเพิ่มและลบรายการ ค่อนข้างปกปิดข้อเท็จจริงที่ว่าอาร์เรย์ภาษาส่วนใหญ่มีขนาดคงที่และต้องการการดำเนินการที่ซับซ้อนในการปรับขนาด ดูเหมือนว่า JavaScript ทำให้ง่ายต่อการเขียนโค้ดอาร์เรย์ที่มีประสิทธิภาพต่ำ สิ่งนี้นำไปสู่คำถาม: ประสิทธิภาพใด (ในแง่ของความซับซ้อนของเวลา O ขนาดใหญ่) ที่ฉันสามารถคาดหวังได้จากการใช้งาน JavaScript เกี่ยวกับประสิทธิภาพของอาร์เรย์ ฉันคิดว่าการใช้งาน JavaScript ที่สมเหตุสมผลทั้งหมดมี O ขนาดใหญ่ดังต่อไปนี้ การเข้าถึง - O (1) ต่อท้าย - O (n) ล่วงหน้า - O (n) การแทรก - O (n) การลบ - O (n) การแลกเปลี่ยน - O (1) JavaScript ให้คุณเติมอาร์เรย์ล่วงหน้าตามขนาดที่กำหนดโดยใช้new Array(length)ไวยากรณ์ (คำถามโบนัส: การสร้างอาร์เรย์ในลักษณะนี้ O …

6
จำนวนองค์ประกอบในวัตถุจาวาสคริปต์
มีวิธีรับ (จากที่ใดที่หนึ่ง) จำนวนองค์ประกอบในวัตถุ javascript หรือไม่? (เช่นความซับซ้อนของเวลาคงที่) ฉันไม่พบคุณสมบัติหรือวิธีการที่ดึงข้อมูลนั้นมา จนถึงตอนนี้ฉันคิดได้แค่ว่าจะทำการวนซ้ำในคอลเลคชันทั้งหมด แต่นั่นคือเวลาเชิงเส้น เป็นเรื่องแปลกที่ไม่มีการเข้าถึงขนาดของวัตถุโดยตรงอย่างที่คุณคิด แก้ไข: ฉันกำลังพูดถึงObjectวัตถุ (ไม่ใช่วัตถุทั่วไป): var obj = new Object ;

7
การแทรกองค์ประกอบ HTML ด้วย JavaScript
แทนที่จะค้นหาวิธีแก้ปัญหาที่น่าเบื่อหน่ายสำหรับแอตทริบิวต์และเหตุการณ์แต่ละประเภทเมื่อใช้ไวยากรณ์ต่อไปนี้: elem = document.createElement("div"); elem.id = 'myID'; elem.innerHTML = ' my Text ' document.body.insertBefore(elem,document.body.childNodes[0]); มีวิธีที่ฉันสามารถประกาศองค์ประกอบ HTML ทั้งหมดเป็นสตริงได้หรือไม่? ชอบ: elem = document.createElement("<div id='myID'> my Text </div>"); document.body.insertBefore(elem,document.body.childNodes[0]);
105 javascript  html 

2
ขอบเขตของ sessionStorage และ localStorage
ฉันอ่านเอกสารบางอย่างเกี่ยวกับ sessionStorage และ localStorage แต่ฉันไม่เข้าใจว่าขอบเขตคืออะไรโดเมนเพจเฉพาะหรือไม่ ตัวอย่างเช่นหากฉันมีหน้าต่อไปนี้: http://example.com/products.aspx?productID=1 http://example.com/products.aspx?productID=2 http://example.com/services.aspx?serviceID=3 และถ้าในแต่ละหน้าข้างต้นฉันเรียกใช้ (โดย idvalue เป็นค่าในสตริงการสืบค้น): localStorage.setItem('ID',idvalue); ฉันจะลงเอยด้วยการจัดเก็บ 3 ค่าที่แตกต่างกันหรือค่าจะเขียนทับซึ่งกันและกัน?

6
วิธีที่ดีที่สุดในการจัดการกับข้อผิดพลาดในการดึงข้อมูลใน react redux คืออะไร?
ฉันมีตัวลดหนึ่งตัวสำหรับไคลเอนต์อีกตัวหนึ่งสำหรับ AppToolbar และอื่น ๆ ... ตอนนี้สมมติว่าฉันสร้างการดำเนินการดึงข้อมูลเพื่อลบไคลเอนต์และหากล้มเหลวฉันมีโค้ดในตัวลดไคลเอ็นต์ซึ่งควรทำบางอย่าง แต่ฉันต้องการแสดงข้อผิดพลาดส่วนกลางใน AppToolbar ด้วย แต่ไคลเอนต์และตัวลด AppToolbar ไม่แชร์ส่วนเดียวกันของสถานะและฉันไม่สามารถสร้างการดำเนินการใหม่ในตัวลด แล้วฉันจะแสดงข้อผิดพลาดทั่วโลกได้อย่างไร? ขอบคุณ อัปเดต 1: ลืมบอกไปว่าใช้este devstack อัปเดต 2: ฉันทำเครื่องหมายคำตอบของ Eric ว่าถูกต้อง แต่ฉันต้องบอกว่าวิธีแก้ปัญหาที่ฉันใช้ใน este นั้นเหมือนกับการรวมกันของคำตอบของ Eric และ Dan ... คุณต้องหาสิ่งที่เหมาะกับคุณที่สุดในรหัสของคุณ .. .

12
ความยาวสตริงเป็นไบต์ใน JavaScript
ในโค้ด JavaScript ของฉันฉันต้องเขียนข้อความไปยังเซิร์ฟเวอร์ในรูปแบบนี้: <size in bytes>CRLF <data>CRLF ตัวอย่าง: 3 foo ข้อมูลอาจมีอักขระ Unicode ฉันต้องการส่งเป็น UTF-8 ฉันกำลังมองหาวิธีข้ามเบราว์เซอร์ที่มากที่สุดในการคำนวณความยาวของสตริงเป็นไบต์ใน JavaScript ฉันได้ลองทำสิ่งนี้เพื่อสร้างน้ำหนักบรรทุกของฉัน: return unescape(encodeURIComponent(str)).length + "\n" + str + "\n" แต่มันไม่ได้ให้ผลลัพธ์ที่ถูกต้องสำหรับฉันสำหรับเบราว์เซอร์รุ่นเก่า (หรืออาจเป็นสตริงในเบราว์เซอร์เหล่านั้นใน UTF-16?) เบาะแสใด ๆ ? อัปเดต: ตัวอย่าง: ความยาวเป็นไบต์ของสตริงЭЭХ! Naïve?ใน UTF-8 คือ 15 ไบต์ แต่บางเบราว์เซอร์รายงาน 23 ไบต์แทน

6
วิธีใดเป็นวิธีที่สะอาดที่สุดในการรับความคืบหน้าของคำขอ jQuery ajax
ในจาวาสคริปต์ธรรมดานั้นง่ายมากเพียงแค่แนบการโทรกลับไปที่ {XMLHTTPRequest}.onprogress var xhr = new XMLHttpRequest(); xhr.onprogress = function(e){ if (e.lengthComputable) var percent = (e.loaded / e.total) * 100; }; xhr.open('GET', 'http://www...', true); xhr.onreadystatechange = function() { ... }; xhr.send(null); แต่ฉันกำลังทำไซต์ ajax ที่ดาวน์โหลดข้อมูล html ด้วย JQuery ( $.get()หรือ$.ajax()) และฉันสงสัยว่าวิธีใดเป็นวิธีที่ดีที่สุดในการรับความคืบหน้าของคำขอเพื่อแสดงด้วยแถบความคืบหน้าเล็กน้อย แต่ฉันไม่อยากรู้ ค้นหาสิ่งที่เป็นประโยชน์ในเอกสาร JQuery ...

7
ตรวจจับเมื่อภาพไม่สามารถโหลดใน Javascript
มีวิธีตรวจสอบว่าเส้นทางรูปภาพนำไปสู่รูปภาพจริงหรือไม่เช่นตรวจจับเมื่อรูปภาพไม่สามารถโหลดใน Javascript สำหรับเว็บแอปฉันกำลังแยกวิเคราะห์ไฟล์ xml และสร้างภาพ HTML แบบไดนามิกจากรายการเส้นทางรูปภาพ เส้นทางรูปภาพบางส่วนอาจไม่มีอยู่บนเซิร์ฟเวอร์อีกต่อไปดังนั้นฉันจึงต้องการล้มเหลวอย่างสง่างามโดยการตรวจจับว่ารูปภาพใดโหลดไม่สำเร็จและลบองค์ประกอบ HTML img นั้น หมายเหตุโซลูชัน JQuery จะไม่สามารถใช้ได้ (เจ้านายไม่ต้องการใช้ JQuery ใช่ฉันรู้ว่าฉันไม่ได้เริ่มต้น) ฉันรู้วิธีใน JQuery ในการตรวจจับเมื่อโหลดรูปภาพ แต่ไม่ว่าจะล้มเหลวหรือไม่ รหัสของฉันในการสร้างองค์ประกอบ img แต่ฉันจะตรวจสอบได้อย่างไรว่าเส้นทาง img นำไปสู่การโหลดภาพล้มเหลว var imgObj = new Image(); // document.createElement("img"); imgObj.src = src;
105 javascript  image 


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