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

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

10
ผ่านอาร์เรย์เป็นพารามิเตอร์ฟังก์ชันใน JavaScript
ฉันต้องการเรียกใช้ฟังก์ชันโดยใช้อาร์เรย์เป็นพารามิเตอร์: const x = ['p0', 'p1', 'p2']; call_me(x[0], x[1], x[2]); // I don't like it function call_me (param0, param1, param2 ) { // ... } มีวิธีที่ดีกว่าในการส่งผ่านเนื้อหาของxลงในcall_me()?


25
คนทำงานเว็บที่ไม่มีไฟล์ Javascript แยกต่างหาก?
เท่าที่ฉันสามารถบอกได้ผู้ทำงานเว็บต้องเขียนไฟล์ JavaScript แยกต่างหากและเรียกสิ่งนี้: new Worker('longrunning.js') ฉันใช้คอมไพเลอร์แบบปิดเพื่อรวมและย่อขนาดซอร์สโค้ด JavaScript ทั้งหมดของฉันและฉันไม่ต้องการให้คนงานของฉันแยกไฟล์เพื่อแจกจ่าย มีวิธีการทำเช่นนี้? new Worker(function() { //Long-running work here }); เนื่องจากฟังก์ชั่นชั้นหนึ่งมีความสำคัญอย่างยิ่งต่อ JavaScript ทำไมวิธีมาตรฐานในการทำงานพื้นหลังจึงต้องโหลดไฟล์ JavaScript อื่นทั้งหมดจากเว็บเซิร์ฟเวอร์

7
ทำไม parseInt ให้ผล NaN ด้วย Array # map?
จากMozilla Developer Network : [1,4,9].map(Math.sqrt) จะให้ผลผลิต: [1,2,3] ทำไมจึงทำเช่นนี้: ['1','2','3'].map(parseInt) ให้สิ่งนี้: [1, NaN, NaN] ฉันได้ทดสอบใน Firefox 3.0.1 และ Chrome 0.3 และเช่นเดียวกับข้อจำกัดความรับผิดชอบฉันรู้ว่านี่ไม่ใช่ฟังก์ชั่นข้ามเบราว์เซอร์ (ไม่มี IE) ฉันพบว่าสิ่งต่อไปนี้จะบรรลุผลตามที่ต้องการ parseIntแต่ก็ยังคงไม่ได้อธิบายพฤติกรรมการกระทำผิดของ ['1','2','3'].map(function(i){return +i;}) // returns [1,2,3]
291 javascript 

18
จะเพิ่มเมนูคลิกขวาที่กำหนดเองในหน้าเว็บได้อย่างไร?
ฉันต้องการเพิ่มเมนูคลิกขวาที่กำหนดเองลงในเว็บแอปพลิเคชันของฉัน สามารถทำได้โดยไม่ต้องใช้ห้องสมุดที่สร้างไว้ล่วงหน้าหรือไม่? ถ้าเป็นเช่นนั้นจะแสดงเมนูคลิกขวาที่กำหนดเองง่ายๆซึ่งไม่ได้ใช้ไลบรารี JavaScript ของบุคคลที่สามได้อย่างไร ฉันกำลังเล็งหาสิ่งที่ Google เอกสารทำ ช่วยให้ผู้ใช้คลิกขวาและแสดงเมนูของผู้ใช้ หมายเหตุ: ฉันต้องการเรียนรู้วิธีการสร้างของตัวเองเมื่อเทียบกับการใช้บางสิ่งบางอย่างที่คนทำไปแล้วตั้งแต่ส่วนใหญ่ห้องสมุดบุคคลที่สามนั้นเต็มไปด้วยคุณสมบัติในขณะที่ฉันต้องการเฉพาะคุณสมบัติที่ฉันต้องการเท่านั้น ผม.

4
จะรับพารามิเตอร์ URL ใน Express ได้อย่างไร
ฉันกำลังประสบปัญหาในการรับค่าtagidจาก URL ของฉัน:localhost:8888/p?tagid=1234ของฉัน: ช่วยฉันออกเพื่อแก้ไขรหัสคอนโทรลเลอร์ของฉัน ฉันไม่สามารถรับtagidค่าได้ รหัสของฉันเป็นดังนี้: app.js: var express = require('express'), http = require('http'), path = require('path'); var app = express(); var controller = require('./controller')({ app: app }); // all environments app.configure(function() { app.set('port', process.env.PORT || 8888); app.use(express.json()); app.use(express.urlencoded()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); app.set('view engine', 'jade'); app.set('views', __dirname + '/views'); …

3
ดัชนีภายในแผนที่ () ฟังก์ชั่น
ฉันไม่มีตัวเลือกวิธีรับหมายเลขดัชนีภายในmapฟังก์ชันที่ใช้ListจากImmutable.js: var list2 = list1.map(mapper => { a: mapper.a, b: mapper.index??? }).toList(); เอกสารที่แสดงให้เห็นว่าผลตอบแทนmap() Iterable<number, M>มีวิธีที่สง่างามกับสิ่งที่ฉันต้องการหรือไม่?

8
ละเว้นนิพจน์ที่สองเมื่อใช้ชวเลข if-else
ฉันสามารถเขียนif elseชวเลขโดยไม่ต้องelse? var x=1; x==2 ? dosomething() : doNothingButContinueCode(); ฉันสังเกตเห็นว่าการnullทำงานอื่น (แต่ฉันไม่รู้ว่าเพราะอะไรหรือเป็นความคิดที่ดี) แก้ไข:พวกคุณบางคนรู้สึกงุนงงว่าทำไมฉันถึงต้องลองสิ่งนี้ มั่นใจได้ว่าหมดความอยากรู้ ฉันชอบล้อเล่นกับ JavaScript

9
ไม่สามารถเข้าใจพารามิเตอร์ useCapture ใน addEventListener
ฉันได้อ่านบทความที่https://developer.mozilla.org/en/DOM/element.addEventListenerแต่ไม่เข้าใจuseCaptureคุณลักษณะ คำจำกัดความคือ: หากเป็นจริง useCapture จะระบุว่าผู้ใช้ต้องการเริ่มต้นการจับภาพ หลังจากเริ่มต้นการจับภาพเหตุการณ์ทั้งหมดของประเภทที่ระบุจะถูกส่งไปยังผู้ฟังที่ลงทะเบียนก่อนที่จะถูกส่งไปยัง EventTargets ใด ๆ ที่อยู่ด้านล่างในต้นไม้ DOM เหตุการณ์ที่เดือดพล่ามผ่านต้นไม้จะไม่ทำให้ผู้ฟังที่ได้รับมอบหมายให้ใช้การดักจับ ในเหตุการณ์รหัสแม่นี้ก่อให้เกิดก่อนที่เด็กดังนั้นฉันไม่สามารถเข้าใจพฤติกรรมของวัตถุวัตถุเอกสารมี usecapture จริงและลูก div มีชุด usecapture เท็จและเอกสาร usecapture เป็นไปดังนั้นคุณสมบัติของเอกสารที่ต้องการมากกว่าเด็ก function load() { document.addEventListener("click", function() { alert("parent event"); }, true); document.getElementById("div1").addEventListener("click", function() { alert("child event"); }, false); } <body onload="load()"> <div id="div1">click me</div> </body> เรียกใช้ข้อมูลโค้ดซ่อนผลลัพธ์ขยายตัวอย่างข้อมูล

12
Map vs Object ใน JavaScript
ฉันเพิ่งค้นพบ chromestatus.com และหลังจากสูญเสียเวลาหลายชั่วโมงในหนึ่งวันฉันพบรายการคุณลักษณะนี้ : แผนที่: วัตถุแผนที่คือแผนที่คีย์ / ค่าแบบง่าย นั่นทำให้ฉันสับสน วัตถุ JavaScript ปกติเป็นพจนานุกรมดังนั้นจึงMapแตกต่างจากพจนานุกรมอย่างไร ตามหลักการแล้วมันเหมือนกัน (ตาม แผนที่และพจนานุกรมแตกต่างกันอย่างไร ) การอ้างอิง Chromestatus เอกสารไม่ได้ช่วย: วัตถุแผนที่คือชุดของคู่ของคีย์ / ค่าที่ทั้งกุญแจและค่าอาจเป็นค่าภาษา ECMAScript โดยพลการ ค่าคีย์ที่แตกต่างกันอาจเกิดขึ้นได้ในคู่ของคีย์ / ค่าภายในคอลเล็กชันของแผนที่เท่านั้น ค่าของคีย์ที่แตกต่างซึ่งจำแนกโดยใช้อัลกอริทึมการเปรียบเทียบที่เลือกเมื่อสร้างแผนที่ วัตถุแผนที่สามารถวนองค์ประกอบในลำดับการแทรก วัตถุแผนที่จะต้องดำเนินการโดยใช้ตารางแฮชหรือกลไกอื่น ๆ ที่โดยเฉลี่ยให้เวลาการเข้าถึงที่ไม่เชิงเส้นกับจำนวนขององค์ประกอบในคอลเลกชัน โครงสร้างข้อมูลที่ใช้ในข้อกำหนดคุณสมบัติวัตถุแผนที่นี้มีวัตถุประสงค์เพื่ออธิบายความหมายที่สังเกตได้ของวัตถุแผนที่เท่านั้น มันไม่ได้ตั้งใจจะเป็นรูปแบบการใช้งานได้จริง ... ยังฟังดูเหมือนวัตถุกับฉันดังนั้นฉันจึงพลาดบางอย่างไป ทำไมจาวาสคริปต์ถึงได้รับMapออบเจ็กต์(สนับสนุนอย่างดี) ? มันทำอะไร?

8
การตั้งค่า backgroundImage ด้วย React Inline Styles
ฉันพยายามเข้าถึงรูปภาพนิ่งเพื่อใช้ภายในbackgroundImageคุณสมบัติแบบอินไลน์ภายใน React น่าเสียดายที่ฉันแห้งมากในการทำเช่นนี้ โดยทั่วไปฉันคิดว่าคุณเพิ่งทำดังนี้: import Background from '../images/background_image.png'; var sectionStyle = { width: "100%", height: "400px", backgroundImage: "url(" + { Background } + ")" }; class Section extends Component { render() { return ( <section style={ sectionStyle }> </section> ); } } ใช้งานได้กับ<img>แท็ก บางคนสามารถอธิบายความแตกต่างระหว่างทั้งสองได้หรือไม่ ตัวอย่าง: <img src={ Background } /> …

15
'innerText' ทำงานได้ใน IE แต่ไม่ใช่ใน Firefox
ฉันมีรหัส JavaScript ที่ทำงานใน IE ที่มีสิ่งต่อไปนี้: myElement.innerText = "foo"; อย่างไรก็ตามดูเหมือนว่าคุณสมบัติ 'innerText' จะไม่ทำงานใน Firefox Firefox มีอะไรบ้างที่เทียบเท่า? หรือมีคุณสมบัติข้ามเบราว์เซอร์ทั่วไปที่สามารถใช้งานได้มากกว่านี้?

13
JavaScript: การส่งพารามิเตอร์ไปยังฟังก์ชันเรียกกลับ
ฉันกำลังพยายามส่งพารามิเตอร์บางอย่างไปยังฟังก์ชันที่ใช้เป็นการโทรกลับฉันจะทำเช่นนั้นได้อย่างไร function tryMe (param1, param2) { alert (param1 + " and " + param2); } function callbackTester (callback, param1, param2) { callback (param1, param2); } callbackTester (tryMe, "hello", "goodbye");

8
$$ hashKey คืออะไรเพิ่มใน JSON.stringify ของฉัน
ฉันได้ลองดูที่หน้าสตริง Mozilla Mozilla JSONของ docs ของพวกเขาเช่นเดียวกับที่นี่ใน SO และ Google แต่ไม่พบคำอธิบาย ฉันใช้ JSOn stringify หลายครั้ง แต่ไม่เคยเจอผลลัพธ์นี้ ฉันมีอาร์เรย์ของวัตถุ JSON [ { "param_2": "Description 1", "param_0": "Name 1", "param_1": "VERSION 1" }, { "param_2": "Description 2", "param_0": "Name 2", "param_1": "VERSION 2" }, { "param_2": "Description 3", "param_0": "Name 3", "param_1": "VERSION 3" …

15
jQuery SVG ทำไมฉันไม่สามารถเพิ่ม Class ได้
ฉันใช้ jQuery SVG ฉันไม่สามารถเพิ่มหรือลบคลาสไปยังวัตถุ ใครทราบความผิดพลาดของฉัน SVG: <rect class="jimmy" id="p5" x="200" y="200" width="100" height="100" /> jQuery ที่จะไม่เพิ่มคลาส: $(".jimmy").click(function() { $(this).addClass("clicked"); }); ฉันรู้ว่า SVG และ jQuery ทำงานร่วมกันได้ดีเพราะฉันสามารถกำหนดเป้าหมายวัตถุและเริ่มการแจ้งเตือนเมื่อมีการคลิก: $(".jimmy").click(function() { alert('Handler for .click() called.'); });

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