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

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

2
คือ store.dispatch ใน Redux synchronous หรือ asynchronous
ฉันรู้ว่านี่เป็นคำถามพื้นฐาน แต่ฉันไม่มีโชคในการหาคำตอบจากที่อื่น คือstore.dispatchในการซิงโครหรือไม่ตรงกันRedux? ในกรณีที่เป็นแบบอะซิงโครนัสมีความเป็นไปได้ที่จะเพิ่มการเรียกกลับหลังจากการดำเนินการได้รับการเผยแพร่ตามที่เป็นไปได้Reactหรือไม่?

2
JavaScript มีการประเมิน "ลัดวงจร" หรือไม่
ฉันต้องการทราบว่า JavaScript มีการประเมิน "ลัดวงจร" เช่น && Operator ใน C # หรือไม่ ถ้าไม่ฉันต้องการทราบว่ามีวิธีแก้ปัญหาที่เหมาะสมในการนำไปใช้หรือไม่

13
การกำหนดตัวแปร JavaScript จาก tuples
ในภาษาอื่น ๆ เช่น Python 2 และ Python 3 คุณสามารถกำหนดและกำหนดค่าให้กับตัวแปรทูเปิลและเรียกดูค่าได้ดังนี้: tuple = ("Bob", 24) name, age = tuple print(name) #name evaluates to Bob print(age) #age evaluates to 24 มีอะไรที่คล้ายกันใน JavaScript หรือไม่? หรือฉันต้องทำแบบที่น่าเกลียดด้วยอาร์เรย์: tuple = ["Bob", 24] name = tuple[0] //name Evaluates to Bob age = tuple[1] //age Evaluates to 24 มีวิธีที่ดีกว่าในการจำลอง …

11
ทริกเกอร์การตรวจสอบฟอร์มด้วยตนเองโดยใช้ jQuery
ฉันมีแบบฟอร์มที่มีชุดฟิลด์ต่างๆ ฉันมี jQuery บางตัวที่แสดงชุดฟิลด์ให้กับผู้ใช้ทีละคน สำหรับเบราว์เซอร์ที่รองรับการตรวจสอบ HTML5 ฉันชอบที่จะใช้ประโยชน์จากมัน อย่างไรก็ตามฉันต้องทำตามเงื่อนไขของฉัน ฉันใช้ JQuery เมื่อผู้ใช้คลิกลิงก์ JS เพื่อย้ายไปยังชุดฟิลด์ถัดไปฉันต้องการการตรวจสอบความถูกต้องเพื่อให้เกิดขึ้นในชุดฟิลด์ปัจจุบันและบล็อกผู้ใช้ไม่ให้ก้าวไปข้างหน้าหากมีปัญหา ตามหลักการแล้วเมื่อผู้ใช้สูญเสียโฟกัสไปที่องค์ประกอบการตรวจสอบความถูกต้องจะเกิดขึ้น ขณะนี้มี novalidate ไปและใช้ jQuery ต้องการใช้วิธีดั้งเดิม :)

5
การแสดงผลส่วนประกอบการตอบสนองจาก Array of Objects
ฉันมีข้อมูลบางอย่างที่เรียกว่าสถานีซึ่งเป็นอาร์เรย์ที่มีวัตถุ stations : [ {call:'station one',frequency:'000'}, {call:'station two',frequency:'001'} ] ฉันต้องการแสดงองค์ประกอบ ui สำหรับตำแหน่งอาร์เรย์แต่ละตำแหน่ง จนถึงตอนนี้ฉันสามารถเขียนได้ var stationsArr = [] for (var i = 0; i < this.data.stations.length; i++) { stationsArr.push( <div className="station"> {this.data} </div> ) } แล้วแสดงผล render(){ return ( {stationsArr} ) } ปัญหาคือฉันกำลังพิมพ์ข้อมูลทั้งหมดออกมา ฉันต้องการเพียงแค่แสดงคีย์ที่เหมือน{this.data.call}แต่ไม่ได้พิมพ์อะไรเลย ฉันจะวนรอบข้อมูลนี้และส่งคืนองค์ประกอบ UI ใหม่สำหรับแต่ละตำแหน่งของอาร์เรย์ได้อย่างไร

1
กำลังพยายามเริ่มการทำงานของเหตุการณ์ onload บนแท็กสคริปต์
ฉันกำลังพยายามโหลดชุดของสคริปต์ตามลำดับ แต่เหตุการณ์การโหลดไม่เริ่มทำงานให้ฉัน var scripts = [ '//cdnjs.cloudflare.com/ajax/libs/less.js/1.3.3/less.min.js', '//cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0-rc.3/handlebars.min.js', MK.host+'/templates/templates.js' ]; function loadScripts(scripts){ var script = scripts.shift(); var el = document.createElement('script'); el.src = script; el.onload = function(script){ console.log(script + ' loaded!'); if (scripts.length) { loadScripts(scripts); } else { console.log('run app'); MK.init(); } }; $body.append(el); } loadScripts(scripts); ฉันเดาว่าเหตุการณ์ดั้งเดิมเช่น el.onload จะไม่เริ่มทำงานเมื่อใช้ jQuery เพื่อต่อท้ายองค์ประกอบเข้ากับ …

9
console.log จะลดประสิทธิภาพการดำเนินการของ JavaScript หรือไม่
การใช้คุณลักษณะการดีบักจะconsole.logลดประสิทธิภาพการดำเนินการของ JavaScript หรือไม่ จะส่งผลต่อความเร็วของการเรียกใช้สคริปต์ในสภาพแวดล้อมการผลิตหรือไม่ มีวิธีปิดใช้งานบันทึกคอนโซลในสภาพแวดล้อมการใช้งานจริงจากตำแหน่งคอนฟิกูเรชันเดียวหรือไม่?

11
คัดลอกลึกใน ES6 โดยใช้ไวยากรณ์การแพร่กระจาย
ฉันกำลังพยายามสร้างวิธีการคัดลอกแผนที่แบบเจาะลึกสำหรับโปรเจ็กต์ Redux ของฉันซึ่งจะทำงานกับอ็อบเจ็กต์แทนที่จะเป็นอาร์เรย์ ฉันอ่านว่าใน Redux แต่ละรัฐไม่ควรเปลี่ยนแปลงอะไรในสถานะก่อนหน้านี้ export const mapCopy = (object, callback) => { return Object.keys(object).reduce(function (output, key) { output[key] = callback.call(this, {...object[key]}); return output; }, {}); } มันได้ผล: return mapCopy(state, e => { if (e.id === action.id) { e.title = 'new item'; } return e; }) อย่างไรก็ตามมันไม่ได้คัดลอกรายการภายในอย่างลึกล้ำดังนั้นฉันต้องปรับแต่งเพื่อ: export const …

5
อะไรคือความแตกต่างระหว่างสัญญา JavaScript และ async รอ?
ฉันใช้คุณสมบัติECMAScript 6และ ECMAScript 7 อยู่แล้ว (ขอบคุณ Babel) ในแอปพลิเคชันของฉัน - ทั้งมือถือและเว็บ ขั้นตอนแรกที่เห็นได้ชัดคือ ECMAScript 6 ระดับ ฉันได้เรียนรู้รูปแบบการไม่ซิงค์คำสัญญา (ซึ่งมีแนวโน้มจริงๆ) เครื่องกำเนิดไฟฟ้า (ไม่แน่ใจว่าทำไมจึงต้องใช้สัญลักษณ์ *) ฯลฯ จากสิ่งเหล่านี้สัญญาจึงเหมาะกับจุดประสงค์ของฉัน และฉันได้ใช้มันในแอปพลิเคชันของฉันค่อนข้างมาก นี่คือตัวอย่าง / รหัสเทียมของวิธีที่ฉันใช้คำสัญญาพื้นฐาน - var myPromise = new Promise( function (resolve,reject) { var x = MyDataStore(myObj); resolve(x); }); myPromise.then( function (x) { init(x); }); เมื่อเวลาผ่านไปฉันได้พบกับคุณลักษณะของ ECMAScript 7 และหนึ่งในนั้นคือASYNCและAWAITคำหลัก …

12
แสดงรายการแบบอักษรทุกตัวที่เบราว์เซอร์ของผู้ใช้สามารถแสดงได้
มีวิธีในจาวาสคริปต์เพื่อรับชื่อของฟอนต์ทั้งหมด (หรือตระกูลฟอนต์) ที่เบราว์เซอร์สามารถแสดงได้หรือไม่? (ฉันต้องการให้ผู้ใช้ดร็อปดาวน์พร้อมรายการแบบอักษรที่มีทั้งหมดและอนุญาตให้ผู้ใช้เลือกแบบอักษร) ฉันไม่ต้องการให้ฮาร์ดโค้ดรายการนี้ล่วงหน้าหรือส่งลงจากเซิร์ฟเวอร์ (โดยสัญชาตญาณดูเหมือนว่าเบราว์เซอร์ควรจะรู้ว่ามันมีฟอนต์อะไรและสิ่งนี้ควรจะเปิดเผยกับจาวาสคริปต์)
106 javascript  css  browser  fonts 

2
เป็นไปได้ไหมที่จะส่งออกฟังก์ชัน Arrow ใน ES6 / 7
คำสั่งการส่งออกด้านล่างแสดงข้อผิดพลาดทางไวยากรณ์ export default const hello = () => console.log("say hello") เพราะอะไร? ฉันสามารถส่งออกฟังก์ชันที่มีชื่อเท่านั้น export function hello() { console.log("hello") } เหตุผลคืออะไร?

6
ฉันจะปรับขนาด Google Map ด้วย JavaScript หลังจากโหลดได้อย่างไร
ฉันมี div 'mapwrap' ที่ตั้งค่าเป็น 400px x 400px และภายในนั้นฉันมี 'แผนที่' ของ Google ตั้งไว้ที่ 100% x 100% ดังนั้นแผนที่จะโหลดที่ 400 x 400px จากนั้นด้วย JavaScript ฉันปรับขนาด 'mapwrap' เป็น 100% x 100% ของหน้าจอ - แผนที่ google จะปรับขนาดเป็นทั้งหน้าจอตามที่ฉันคาดไว้ แต่ไทล์เริ่มหายไปก่อนที่ขอบด้านขวามือของ หน้า. มีฟังก์ชั่นง่ายๆที่ฉันสามารถเรียกใช้เพื่อทำให้แผนที่ Google ปรับใหม่เป็น div 'mapwrap' ขนาดใหญ่ขึ้นได้หรือไม่?

12
วางเมาส์เหนือหรือวางเมาส์เหนือ vue.js
ฉันต้องการแสดง div เมื่อวางเมาส์เหนือองค์ประกอบใน vue.js แต่ดูเหมือนว่าจะใช้งานไม่ได้ ดูเหมือนว่าจะไม่มีเหตุการณ์สำหรับการวางเมาส์เหนือหรือวางเมาส์ใน vue.js นี่มันเรื่องจริงเหรอ? เป็นไปได้ไหมที่จะรวมวิธีการโฮเวอร์ jquery และ vue เข้าด้วยกัน
105 javascript  vue.js 

1
วิธีระบุอาร์เรย์ของวัตถุเป็นพารามิเตอร์หรือค่าส่งคืนใน JSDoc
ใน JSDoc เอกสารที่ดีที่สุดที่ฉันสามารถหาได้แสดงให้ใช้สิ่งต่อไปนี้หากคุณมีอาร์เรย์ประเภทเฉพาะ (เช่นอาร์เรย์ของสตริง) เป็น: /** * @param {Array.<string>} myStrings All my awesome strings */ function blah(myStrings){ //stuff here... } คุณจะแทนที่เครื่องหมายคำถามด้านล่างเพื่อระบุอาร์เรย์ของวัตถุได้อย่างไร /** * @param {???????} myObjects All of my equally awesome objects */ function blah(myObjects){ //stuff here... }

4
การทดสอบ javascript ด้วย Mocha - ฉันจะใช้ console.log เพื่อดีบักการทดสอบได้อย่างไร
ฉันใช้โปรแกรมทดสอบจาวาสคริปต์ "Mocha" ฉันมีการทดสอบที่ล้มเหลวดังนั้นฉันจะแก้ไขข้อบกพร่องโดยใช้console.log. แต่เมื่อดำเนินการทดสอบจะไม่มีผลลัพธ์ (เฉพาะผลการทดสอบจากมอคค่า) ดูเหมือนว่ามอคค่าจะจับและปราบปรามconsole.logผลผลิตของฉัน! ฉันจะให้มอคค่าแสดงผลลัพธ์ได้อย่างไร (สำหรับการทดสอบที่ล้มเหลว)? แก้ไข: ขออภัยอย่างสูง! - console.logทำงานระหว่างการทดสอบ! ฉันต้องคาดหวังว่ามันจะระงับเอาต์พุตและฉันไม่ได้ตรวจสอบรหัสของตัวเองอย่างถูกต้อง ขอบคุณสำหรับการตอบกลับ ดังนั้น ... ที่ถูกกล่าวว่า ... บางทีอาจเป็นการดีที่จะระงับผลลัพธ์สำหรับการทดสอบที่ผ่าน? อืม ... ในบันทึกที่เกี่ยวข้อง: ฉันต้องการใช้console.logเนื่องจากฉันมีปัญหามากมายในการพยายามรับตัวดีบักเกอร์ Eclipse เพื่อเชื่อมต่อกับ node.js ฉันเป็นคนเดียวที่พบว่ามีเล่ห์เหลี่ยมนี้หรือไม่? พวกคุณแก้จุดบกพร่อง node.js ได้อย่างไร? ด้วยดีบักเกอร์หรือด้วยconsole.logคำสั่ง?

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