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

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

17
วิธีการจับภาพเหตุการณ์ปิดหน้าต่างเบราว์เซอร์?
ฉันต้องการจับภาพเหตุการณ์ปิดหน้าต่างแท็บ / เบราว์เซอร์ ฉันได้ลองทำสิ่งต่อไปนี้กับ jQuery: jQuery(window).bind( "beforeunload", function() { return confirm("Do you really want to close?") } ) แต่มันใช้ได้กับการส่งแบบฟอร์มด้วยซึ่งไม่ใช่สิ่งที่ฉันต้องการ ฉันต้องการเหตุการณ์ที่ก่อให้เกิดเฉพาะเมื่อผู้ใช้ปิดหน้าต่าง

11
การเข้าถึงคุณสมบัติที่ไม่ปลอดภัย (และการกำหนดเงื่อนไข) ใน ES6 / 2015
มีตัวnullดำเนินการ -safe property (การขยายพันธุ์ / การดำรงอยู่ของ null) ใน ES6 (ES2015 / JavaScript.next / Harmony) เช่น?.ในCoffeeScriptหรือไม่? หรือจะมีการวางแผนสำหรับ ES7 var aThing = getSomething() ... aThing = possiblyNull?.thing สิ่งนี้จะประมาณ: if (possiblyNull != null) aThing = possiblyNull.thing เป็นการดีที่โซลูชันไม่ควรกำหนด (แม้undefined) ให้กับaThingถ้าpossiblyNullเป็นnull

26
เป็นวิธีที่ดีที่สุดในการเพิ่มภาพพื้นหลังแบบเต็มหน้าจอใน React Native
ฉันต้องการเพิ่มภาพเต็มหน้าจอลงในมุมมองดังนั้นฉันจึงเขียนรหัสนี้ return ( <View style={styles.container}> <Image source={require('image!egg')} style={styles.backgroundImage}/> </View> ) และกำหนดสไตล์เป็น var styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#F5FCFF', flexDirection: 'column', }, backgroundImage:{ width:320, height:480, } ... แต่ด้วยวิธีนี้ฉันจะค้นหาขนาดหน้าจอ iPhone จริงได้อย่างไร ฉันเห็น API เพื่อเข้าถึง Pixel Density แต่ไม่มีอะไรเกี่ยวกับขนาดหน้าจอ ... ความคิดใด ๆ

3
เพิ่มช่วงเวลาลงไปครู่หนึ่ง (moment.js)
รุ่นเวลา: 2.0.0 หลังจากอ่านเอกสารฉันคิดว่านี่จะเป็นแบบตรงไปตรงมา (คอนโซล Chrome): var timestring1 = "2013-05-09T00:00:00Z"; var timestring2 = "2013-05-09T02:00:00Z"; var startdate = moment(timestring1); var expected_enddate = moment(timestring2); var returned_endate = startdate.add(moment.duration(2, 'hours')); returned_endate == expected_enddate // false returned_endate // Moment {_i: "2013-05-09T00:00:00Z", _f: "YYYY-MM-DDTHH:mm:ss Z", _l: undefined, _isUTC: false, _a: Array[7]…} นี่เป็นตัวอย่างเล็ก ๆ น้อย ๆ แต่ฉันไม่สามารถใช้งานได้ …

5
parseInt vs unary plus เมื่อไรจะใช้อันไหน
อะไรคือความแตกต่างระหว่างบรรทัดนี้: var a = parseInt("1", 10); // a === 1 และสายนี้ var a = +"1"; // a === 1 การทดสอบ jsperfนี้แสดงให้เห็นว่าโอเปอเรเตอร์ unary นั้นเร็วกว่ามากในรุ่นโครมปัจจุบันโดยสมมติว่ามันใช้สำหรับ node.js !? ถ้าฉันพยายามแปลงสตริงที่ไม่ใช่ตัวเลขทั้งสองคืนNaN: var b = parseInt("test" 10); // b === NaN var b = +"test"; // b === NaN ดังนั้นเมื่อไรฉันจึงควรใช้งานparseIntมากกว่า unary plus (โดยเฉพาะใน node.js) ??? แก้ไข …


22
ฉันจะกำหนดสถานะของสัญญา JavaScript ได้อย่างไร
ฉันมีสัญญา JavaScript บริสุทธิ์ (การติดตั้งในตัวหรือการเติมโพลี): var promise = new Promise(function (resolve, reject) { /* ... */ }); จากข้อกำหนดคุณสมบัติสัญญาสามารถเป็นหนึ่งใน: 'ตัดสิน' และ 'แก้ไขแล้ว' 'ตัดสิน' และ 'ปฏิเสธ' 'รอดำเนินการ' ฉันมีกรณีการใช้งานที่ฉันต้องการสอบปากคำสัญญาพร้อมกันและกำหนด: สัญญาถูกตัดสินหรือไม่ ถ้าเป็นเช่นนั้นสัญญาจะได้รับการแก้ไขหรือไม่ ฉันรู้ว่าฉันสามารถใช้#then()เพื่อกำหนดเวลาการทำงานที่จะดำเนินการแบบอะซิงโครนัสหลังจากสถานะการเปลี่ยนแปลงสัญญา ฉันไม่ได้ถามว่าจะทำอย่างไร คำถามนี้เป็นคำถามเฉพาะที่เกี่ยวกับการสอบสวนซิงโครของรัฐของสัญญา ฉันจะบรรลุสิ่งนี้ได้อย่างไร

4
ฉันจะรอคำสัญญาให้เสร็จก่อนที่จะส่งคืนตัวแปรของฟังก์ชันได้อย่างไร
ฉันยังคงดิ้นรนกับคำมั่นสัญญา แต่ก็มีความคืบหน้าขอบคุณชุมชนที่นี่ ฉันมีฟังก์ชั่น JS ง่าย ๆ ซึ่งสอบถามฐานข้อมูลแยกวิเคราะห์ มันควรจะส่งคืนอาร์เรย์ของผลลัพธ์ แต่เห็นได้ชัดเนื่องจากธรรมชาติของการสืบค้นแบบอะซิงโครนัส ฉันต้องทำอะไรเพื่อให้ฟังก์ชั่นนี้รอผลของสัญญา? นี่คือรหัสของฉัน: function resultsByName(name) { var Card = Parse.Object.extend("Card"); var query = new Parse.Query(Card); query.equalTo("name", name.toString()); var resultsArray = []; var promise = query.find({ success: function(results) { // results is an array of Parse.Object. console.log(results); //resultsArray = results; return results; }, …

4
ES6 เรียกใช้ฟังก์ชันลูกศรทันที
เหตุใดจึงทำงานในNode.jsคอนโซล (ทดสอบใน 4.1.1 และ 5.3.0) แต่ไม่ทำงานในเบราว์เซอร์ (ทดสอบใน Chrome) Okการป้องกันรหัสนี้ควรสร้างและเรียกใช้ฟังก์ชั่นที่ไม่ระบุชื่อที่บันทึก () => { console.log('Ok'); }() นอกจากนี้ในขณะที่การทำงานข้างต้นในโหนดนี้ไม่ทำงาน: n => { console.log('Ok'); }() หรือสิ่งนี้: (n) => { console.log('Ok'); }() มีอะไรแปลก ๆ คือเมื่อเพิ่มพารามิเตอร์แล้วมันจะส่ง a ไปSyntaxErrorที่ส่วนที่เรียกใช้ทันที

8
ผู้ประกอบการที่สามใน JavaScript โดยไม่ต้อง "อื่น"
ฉันมักจะต้องใส่nullในเงื่อนไขอื่นที่ไม่มีอะไรเลย มีอยู่รอบ ๆ มันไหม? เช่น condition ? x = true : null; โดยพื้นฐานแล้วมีวิธีทำอย่างไร: condition ? x = true; ตอนนี้มันปรากฏขึ้นเป็นข้อผิดพลาดทางไวยากรณ์ FYI นี่คือตัวอย่างโค้ดจริงบางส่วน: !defaults.slideshowWidth ? defaults.slideshowWidth = obj.find('img').width()+'px' : null;

2
Javascript ES6 ส่งออก const เทียบกับการส่งออกให้
สมมติว่าฉันมีตัวแปรที่ฉันต้องการส่งออก ความแตกต่างระหว่างอะไร export const a = 1; VS export let a = 1; ฉันเข้าใจความแตกต่างระหว่างconstและletแต่เมื่อคุณส่งออกสิ่งที่แตกต่างกันคืออะไร

13
ป้องกันการรีเฟรชหน้าเมื่อปุ่มภายในฟอร์มคลิก
ฉันประสบปัญหาขณะใช้งานปุ่มต่าง ๆ ภายในแบบฟอร์ม ฉันต้องการปุ่มนั้นเพื่อเรียกใช้ฟังก์ชัน มันทำ แต่ด้วยผลลัพธ์ที่ไม่พึงประสงค์ที่จะรีเฟรชหน้า รหัสง่าย ๆ ของฉันจะเป็นแบบนี้ <form method="POST"> <button name="data" onclick="getData()">Click</button> </form> เมื่อคลิกปุ่มฟังก์ชั่นจะได้รับการเรียกด้วยการรีเฟรชหน้าซึ่งรีเซ็ตคำขอก่อนหน้าของฉันทั้งหมดซึ่งมีผลต่อหน้าปัจจุบันซึ่งเป็นผลมาจากการร้องขอก่อนหน้า ฉันควรทำอย่างไรเพื่อป้องกันการรีเฟรชหน้า?
149 javascript  html 

6
Chart.js v2 - ซ่อนเส้นกริด
ฉันใช้ Chart.js v2 เพื่อวาดแผนภูมิเส้นอย่างง่าย ทุกอย่างดูดียกเว้นมีเส้นกริดที่ฉันไม่ต้องการ: เอกสารสำหรับแผนภูมิเส้นอยู่ที่นี่: https://nnnick.github.io/Chart.js/docs-v2/#line-chartแต่ฉันไม่พบอะไรเลยเกี่ยวกับการซ่อน "เส้นกริด" เหล่านั้น ฉันจะลบเส้นกริดได้อย่างไร

11
การตั้งค่าสตริงแบบสอบถามโดยใช้การดึงข้อมูลคำขอ GET
ฉันพยายามใช้API การดึงข้อมูลใหม่: ฉันกำลังGETขอสิ่งนี้: var request = new Request({ url: 'http://myapi.com/orders', method: 'GET' }); fetch(request); อย่างไรก็ตามฉันไม่แน่ใจว่าจะเพิ่มสตริงข้อความค้นหาในGETคำขอได้อย่างไร เป็นการดีที่ฉันต้องการที่จะสามารถGETขอให้URLชอบ: 'http://myapi.com/orders?order_id=1' ในjQueryที่ฉันสามารถทำเช่นนี้โดยการส่งผ่าน{order_id: 1}เป็นพารามิเตอร์ของdata $.ajax()มีวิธีที่เทียบเท่ากับการทำเช่นนั้นกับใหม่Fetch APIหรือไม่

5
กำหนดตัวแปรส่วนกลางด้วย webpack
เป็นไปได้ไหมที่จะกำหนดตัวแปรส่วนกลางด้วย webpack เพื่อให้ได้ผลลัพธ์ดังนี้: var myvar = {}; ตัวอย่างทั้งหมดที่ฉันเห็นใช้ไฟล์ภายนอก require("imports?$=jquery!./file.js")

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