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

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

12
การละเมิดที่ไม่เปลี่ยนแปลง: _registerComponent (…): คอนเทนเนอร์เป้าหมายไม่ใช่องค์ประกอบ DOM
ฉันได้รับข้อผิดพลาดนี้หลังจากทำหน้าตัวอย่าง React เล็กน้อย ข้อผิดพลาดที่ไม่ได้แปล: การละเมิดที่ไม่เปลี่ยนแปลง: _registerComponent (... ): คอนเทนเนอร์เป้าหมายไม่ใช่องค์ประกอบ DOM นี่คือรหัสของฉัน: /** @jsx React.DOM */ 'use strict'; var React = require('react'); var App = React.createClass({ render() { return <h1>Yo</h1>; } }); React.renderComponent(<App />, document.body); HTML: <html> <head> <script src="/bundle.js"></script> </head> <body> </body> </html> สิ่งนี้หมายความว่า?
387 javascript  dom  reactjs 

4
ความหมายของ polyfills ใน HTML5 คืออะไร?
ความหมายของ polyfills ใน HTML5 คืออะไร? ฉันเห็นคำนี้ในเว็บไซต์หลายแห่งเกี่ยวกับ HTML5 เช่นHTML5-Cross-Browser-Polyfills ดังนั้นที่นี่เรากำลังรวบรวม shims, fallbacks และ polyfills ทั้งหมดเพื่อปลูกฝังการทำงานของ HTML5 ในเบราว์เซอร์ที่ไม่สนับสนุนพวกมัน ที่จริงฉันไม่เข้าใจความหมายของ polyfills คืออะไร มันเป็นเทคนิค HTML5 ใหม่หรือไลบรารี JavaScript หรือไม่ ฉันไม่เคยได้ยินคำนี้มาก่อน HTML5 และความแตกต่างระหว่าง shims, fallbacks และ polyfills คืออะไร?

27
วิธีรับคีย์ในวัตถุ JavaScript ด้วยค่าของมัน
ฉันมีวัตถุ JavaScript ที่ค่อนข้างง่ายซึ่งฉันใช้เป็นอาร์เรย์ที่เชื่อมโยงกัน มีฟังก์ชั่นง่าย ๆ ที่ช่วยให้ฉันได้รับกุญแจสำหรับค่าหรือฉันต้องย้ำวัตถุและค้นหาด้วยตนเอง?
387 javascript  object 

4
การส่งต่ออาร์กิวเมนต์ไปยังฟังก์ชัน javascript อื่น
ฉันได้ลองทำสิ่งต่อไปนี้โดยไม่ประสบความสำเร็จ: function a(args){ b(arguments); } function b(args){ // arguments are lost? } a(1,2,3); ในฟังก์ชั่น a, ฉันสามารถใช้อากิวเมนต์อาร์กิวเมนท์เพื่อเข้าถึงอาเรย์ของอาร์กิวเมนท์, ในฟังก์ชัน b สิ่งเหล่านี้จะหายไป มีวิธีการส่งผ่านข้อโต้แย้งไปยังฟังก์ชั่นจาวาสคริปต์อื่นอย่างที่ฉันพยายามทำหรือไม่?
386 javascript 

12
รับความแตกต่างชั่วโมงระหว่างสองวันใน Moment Js
ฉันสามารถรับความแตกต่างระหว่างสองเดทโดยใช้ MomentJs ดังนี้: moment(end.diff(startTime)).format("m[m] s[s]") อย่างไรก็ตามฉันต้องการแสดงชั่วโมงเมื่อใช้งานได้ (เฉพาะเมื่อ> = 60 นาทีผ่านไป) อย่างไรก็ตามเมื่อฉันพยายามดึงชั่วโมงระยะเวลาโดยใช้สิ่งต่อไปนี้: var duration = moment.duration(end.diff(startTime)); var hours = duration.hours(); มันจะส่งคืนชั่วโมงปัจจุบันและไม่ใช่จำนวนชั่วโมงระหว่างวันที่สองวัน ฉันจะได้รับความแตกต่างในชั่วโมงระหว่างสองช่วงเวลาได้อย่างไร

23
ฉันจะรอใน Node.js (Javascript) ได้อย่างไรฉันต้องหยุดชั่วคราวเป็นระยะเวลาหนึ่ง
ฉันกำลังพัฒนาคอนโซลเช่นสคริปต์สำหรับความต้องการส่วนบุคคล ฉันต้องหยุดชั่วคราวเป็นระยะเวลานาน แต่จากการวิจัยของฉัน node.js ไม่มีวิธีหยุดตามที่ต้องการ เป็นการยากที่จะอ่านข้อมูลของผู้ใช้หลังจากผ่านไประยะเวลาหนึ่ง ... ฉันได้เห็นโค้ดบางส่วนจากที่นั่น แต่ฉันเชื่อว่าพวกเขาต้องมีโค้ดอื่น ๆ อยู่ภายในเพื่อให้สามารถใช้งานได้เช่น: setTimeout(function() { }, 3000); อย่างไรก็ตามฉันต้องการทุกอย่างหลังจากบรรทัดของรหัสนี้เพื่อดำเนินการหลังจากช่วงเวลา ตัวอย่างเช่น, //start-of-code console.log('Welcome to My Console,'); some-wait-code-here-for-ten-seconds.......... console.log('Blah blah blah blah extra-blah'); //endcode. ฉันเคยเห็นสิ่งต่าง ๆ เช่น yield sleep(2000); แต่ node.js ไม่รู้จักสิ่งนี้ ฉันจะบรรลุการหยุดชั่วคราวแบบขยายนี้ได้อย่างไร

10
Array.size () vs Array.length
ความแตกต่างระหว่างสองคืออะไร? ดังนั้นฉันจึงรู้ว่าarray.size()เป็นฟังก์ชั่นในขณะที่array.lengthเป็นทรัพย์สิน มี usecase สำหรับการใช้หนึ่งมากกว่าอีก? มีประสิทธิภาพมากกว่านี้ไหม (ฉันคิดว่า.lengthจะเร็วขึ้นอย่างมีนัยสำคัญเนื่องจากเป็นคุณสมบัติแทนที่จะเป็นวิธีการโทร) ทำไมหนึ่งจะเคยใช้ตัวเลือกที่ช้ากว่า? มีเบราว์เซอร์บางตัวที่เข้ากันไม่ได้กับอันใดอันหนึ่งหรือไม่? var x = []; console.log(x.size()); console.log(x.length); console.log(x.size()==x.length); x =[1,2,3]; console.log(x.size()); console.log(x.length); console.log(x.size()==x.length); จะพิมพ์: 0, 0, true 3, 3, true
385 javascript  arrays 

18
ใน Javascript จะเพิ่มสมาชิกไปยังวัตถุแบบมีเงื่อนไขได้อย่างไร
ฉันต้องการสร้างวัตถุโดยมีสมาชิกเพิ่มตามเงื่อนไข วิธีการง่าย ๆ คือ: var a = {}; if (someCondition) a.b = 5; ตอนนี้ฉันต้องการเขียนรหัสที่เป็นสำนวนมากขึ้น ฉันกำลังพยายาม: a = { b: (someCondition? 5 : undefined) }; แต่ตอนนี้bเป็นสมาชิกของที่มีค่าa undefinedนี่ไม่ใช่ผลลัพธ์ที่ต้องการ มีวิธีแก้ปัญหาที่สะดวกหรือไม่? ปรับปรุง ฉันหาวิธีแก้ปัญหาที่สามารถจัดการกรณีทั่วไปกับสมาชิกหลายคน a = { b: (conditionB? 5 : undefined), c: (conditionC? 5 : undefined), d: (conditionD? 5 : undefined), e: (conditionE? 5 …
385 javascript 

5
สัญญาจาวาสคริปต์ - ปฏิเสธกับการโยน
ฉันได้อ่านบทความหลายเรื่องในหัวข้อนี้ แต่ก็ยังไม่ชัดเจนสำหรับฉันหากมีข้อแตกต่างระหว่างPromise.rejectกับการส่งข้อผิดพลาด ตัวอย่างเช่น, ใช้ Promise.reject return asyncIsPermitted() .then(function(result) { if (result === true) { return true; } else { return Promise.reject(new PermissionDenied()); } }); โดยใช้การโยน return asyncIsPermitted() .then(function(result) { if (result === true) { return true; } else { throw new PermissionDenied(); } }); การตั้งค่าของฉันคือการใช้throwเพียงเพราะมันสั้นกว่า แต่ก็สงสัยว่ามีข้อได้เปรียบของอีกคนหนึ่ง

8
การเปรียบเทียบเวลาวันที่ของช่วงเวลา js
ฉันใช้ moment.js เพื่อจัดรูปแบบเวลาวันที่ของฉันที่นี่ฉันมีสองค่าวันที่และฉันต้องการบรรลุฟังก์ชั่นเฉพาะเมื่อวันหนึ่งมากกว่าวันอื่น ฉันอ่านเอกสารส่วนใหญ่ของพวกเขาแล้ว แต่ไม่พบฟังก์ชันที่จะทำให้บรรลุผล ฉันรู้ว่ามันจะมี นี่คือรหัสของฉัน: var date_time = 2013-03-24 + 'T' + 10:15:20:12 + 'Z' var d = moment(date_time).tz('UTC'); // first date var now = new Date(), dnow = moment(now).tz('UTC'), snow = dnow.minute() % 15, diffnow = 15 - snow, tonow = moment(dnow).add('minute', diffnow), ahead30now = moment(tonow).add('minute', 30); …

9
อัพโหลดทั้งข้อมูลและไฟล์ในรูปแบบเดียวโดยใช้ Ajax?
ฉันใช้ jQuery และ Ajax สำหรับฟอร์มของฉันในการส่งข้อมูลและไฟล์ แต่ฉันไม่แน่ใจว่าจะส่งทั้งข้อมูลและไฟล์ในรูปแบบเดียวได้อย่างไร ขณะนี้ฉันทำเกือบเหมือนกันทั้งสองวิธี แต่วิธีการรวบรวมข้อมูลในอาเรย์นั้นแตกต่างกันข้อมูลที่ใช้.serialize();แต่ไฟล์ใช้= new FormData($(this)[0]); เป็นไปได้หรือไม่ที่จะรวมทั้งสองวิธีเพื่อให้สามารถอัพโหลดไฟล์และข้อมูลในรูปแบบเดียวผ่าน Ajax ได้? Data jQuery, Ajax และ html $("form#data").submit(function(){ var formData = $(this).serialize(); $.ajax({ url: window.location.pathname, type: 'POST', data: formData, async: false, success: function (data) { alert(data) }, cache: false, contentType: false, processData: false }); return false; }); <form id="data" …
384 javascript  jquery  ajax  forms 

30
วิธีการรับค่าที่แตกต่างจากอาร์เรย์ของวัตถุใน JavaScript?
สมมติว่าฉันมีต่อไปนี้: var array = [ {"name":"Joe", "age":17}, {"name":"Bob", "age":17}, {"name":"Carl", "age": 35} ] เป็นวิธีที่ดีที่สุดที่จะได้รับอาร์เรย์ของทุกวัยที่แตกต่างกันเช่นที่ฉันได้รับผลของ: [17, 35] มีวิธีใดบ้างที่ฉันสามารถจัดโครงสร้างข้อมูลหรือวิธีที่ดีกว่าเพื่อที่ฉันจะได้ไม่ต้องวนซ้ำผ่านแต่ละอาร์เรย์เพื่อตรวจสอบค่าของ "อายุ" และตรวจสอบกับอาร์เรย์อื่นสำหรับการมีอยู่ของมันและเพิ่มถ้าไม่? หากมีวิธีใดที่ฉันจะสามารถดึงอายุที่แตกต่างออกไปโดยไม่ทำซ้ำ ... วิธีที่ไม่มีประสิทธิภาพในปัจจุบันฉันต้องการที่จะปรับปรุง ... ถ้ามันหมายความว่าแทนที่จะเป็น "อาร์เรย์" เป็นอาร์เรย์ของวัตถุ แต่เป็น "แผนที่" ของวัตถุที่มีคีย์เฉพาะบางอย่าง (เช่น "1,2,3") ที่จะเป็น ก็โอเคเช่นกัน ฉันแค่มองหาวิธีที่มีประสิทธิภาพสูงสุด ต่อไปนี้เป็นวิธีที่ฉันทำในขณะนี้ แต่สำหรับฉันการทำซ้ำดูเหมือนจะเป็นเรื่องที่ยากสำหรับประสิทธิภาพแม้ว่ามันจะทำงานได้ ... var distinct = [] for (var i = 0; i < array.length; i++) …

9
แปลงอาร์เรย์เป็น JSON
ฉันมีอาร์เรย์var cars = [2,3,..]ที่มีจำนวนเต็มไม่กี่ ฉันได้เพิ่มค่าบางอย่างลงในอาร์เรย์ แต่ตอนนี้ฉันต้องส่งอาร์เรย์นี้ไปยังหน้าเว็บด้วย.getวิธีการของ jQuery ฉันจะแปลงเป็นวัตถุ JSON เพื่อส่งได้อย่างไร

11
ข้อผิดพลาด sendrequest ของ Chrome: TypeError: การแปลงโครงสร้างแบบวงกลมเป็น JSON
ฉันได้รับดังต่อไปนี้ ... chrome.extension.sendRequest({ req: "getDocument", docu: pagedoc, name: 'name' }, function(response){ var efjs = response.reply; }); ซึ่งเรียกสิ่งต่อไปนี้ .. case "getBrowserForDocumentAttribute": alert("ZOMG HERE"); sendResponse({ reply: getBrowserForDocumentAttribute(request.docu,request.name) }); break; อย่างไรก็ตามรหัสของฉันจะไม่ถึง "ZOMG HERE" แต่จะโยนข้อผิดพลาดต่อไปนี้ขณะที่ทำงาน chrome.extension.sendRequest Uncaught TypeError: Converting circular structure to JSON chromeHidden.JSON.stringify chrome.Port.postMessage chrome.initExtension.chrome.extension.sendRequest suggestQuery ใครบ้างมีความคิดว่าอะไรเป็นสาเหตุของเรื่องนี้

8
วิธีรับจำนวน N องค์ประกอบแรกจากอาร์เรย์
ฉันกำลังทำงานกับ Javascript (ES6) / FaceBook ตอบสนองและพยายามรับ 3 องค์ประกอบแรกของอาร์เรย์ที่มีขนาดแตกต่างกันไป ฉันต้องการทำสิ่งที่เทียบเท่ากับ Linq take (n) ในไฟล์ Jsx ของฉันฉันมีดังต่อไปนี้: var items = list.map(i => { return ( <myview item={i} key={i.id} /> ); }); จากนั้นเพื่อรับ 3 รายการแรกที่ฉันลอง var map = new Map(list); map.size = 3; var items = map(i => { return (<SpotlightLandingGlobalInboxItem item={i} key={i.id} …

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