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

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

4
(เปลี่ยน) vs (ngModelChange) เป็นมุม
Angular 1 ไม่ยอมรับonchange()กิจกรรม แต่ยอมรับเฉพาะng-change()กิจกรรม ในทางกลับกัน 2 ยอมรับทั้งสอง(change)และ(ngModelChange)เหตุการณ์ซึ่งทั้งสองดูเหมือนจะทำสิ่งเดียวกัน ความแตกต่างคืออะไร? อันไหนดีที่สุดสำหรับประสิทธิภาพ? ngModelChange : <input type="text" pInputText class="ui-widget ui-text" (ngModelChange)="clearFilter()" placeholder="Find"/> เทียบกับการเปลี่ยนแปลง : <input type="text" pInputText class="ui-widget ui-text" (change)="clearFilter()" placeholder="Find"/>

6
ทำไมการเรียกใช้เมธอดปฏิกิริยา setState จึงไม่ทำให้เกิดการเปลี่ยนแปลงสถานะทันที
ฉันกำลังอ่านส่วนของฟอร์มreactjsเอกสารและลองใช้รหัสนี้เพื่อสาธิตonChangeการใช้งาน ( JSBIN ) var React= require('react'); var ControlledForm= React.createClass({ getInitialState: function() { return { value: "initial value" }; }, handleChange: function(event) { console.log(this.state.value); this.setState({value: event.target.value}); console.log(this.state.value); }, render: function() { return ( <input type="text" value={this.state.value} onChange={this.handleChange}/> ); } }); React.render( <ControlledForm/>, document.getElementById('mount') ); เมื่อฉันอัปเดต<input/>ค่าในเบราว์เซอร์ที่สองconsole.logภายในการhandleChangeโทรกลับพิมพ์เหมือนvalueครั้งแรกconsole.logทำไมฉันไม่เห็นผลลัพธ์this.setState({value: event.target.value})ในขอบเขตของการhandleChangeโทรกลับ

8
jQuery นับองค์ประกอบย่อย
<div id="selected"> <ul> <li>29</li> <li>16</li> <li>5</li> <li>8</li> <li>10</li> <li>7</li> </ul> </div> เรียกใช้ข้อมูลโค้ดซ่อนผลลัพธ์ขยายตัวอย่างข้อมูล ฉันต้องการนับจำนวน<li>องค์ประกอบ<div id="selected"></div>ทั้งหมด วิธีการที่เป็นไปได้โดยใช้ของ jQuery .children([selector])?
324 javascript  jquery  dom 

12
JavaScript มีประเภทอินเตอร์เฟส (เช่น 'ส่วนต่อประสาน' ของ Java) หรือไม่
ฉันเรียนรู้วิธีที่จะทำให้ OOP ด้วย JavaScript มันมีแนวคิดของส่วนต่อประสาน (เช่นของ Java interface) หรือไม่? ดังนั้นฉันจะสามารถสร้างผู้ฟัง ...
324 javascript  oop 

11
ตรวจสอบว่าสตริงมีตัวเลขเท่านั้น
ฉันต้องการตรวจสอบว่าstringมีเพียงตัวเลขเท่านั้น ฉันใช้สิ่งนี้: var isANumber = isNaN(theValue) === false; if (isANumber){ .. } แต่รู้ว่ามันยังช่วยให้และ+ -โดยพื้นฐานแล้วฉันต้องการให้แน่ใจว่าinputมีเพียงตัวเลขเท่านั้นและไม่มีอักขระอื่น ๆ เนื่องจาก+100และ-5เป็นตัวเลขทั้งคู่isNaN()จึงไม่ใช่วิธีที่ถูกต้อง บางที regexp เป็นสิ่งที่ฉันต้องการ? เคล็ดลับใด ๆ


15
การประกาศค่าคงที่ในคลาส ES6?
ฉันต้องการใช้ค่าคงที่ใน a classเพราะนั่นเป็นสิ่งที่สมเหตุสมผลที่จะหาค่าเหล่านี้ในโค้ด จนถึงตอนนี้ฉันได้ใช้วิธีแก้ปัญหาต่อไปนี้ด้วยวิธีการคงที่: class MyClass { static constant1() { return 33; } static constant2() { return 2; } // ... } ฉันรู้ว่ามีความเป็นไปได้ที่จะเล่นซอกับต้นแบบ แต่หลายคนแนะนำให้ต่อต้านสิ่งนี้ มีวิธีที่ดีกว่าในการใช้ค่าคงที่ในคลาส ES6 หรือไม่?

15
จะสร้างพจนานุกรมและเพิ่มคู่คีย์ - ค่าแบบไดนามิกได้อย่างไร
จากโพสต์: การส่งอาร์เรย์ JSON เพื่อรับเป็น Dictionary <string, string> ฉันพยายามทำสิ่งเดียวกันกับโพสต์นั้น ปัญหาเดียวคือฉันไม่รู้ว่ากุญแจและค่าคืออะไร ดังนั้นฉันต้องสามารถเพิ่มคีย์และคู่ค่าแบบไดนามิกและฉันไม่รู้วิธีการทำ ไม่มีใครรู้วิธีสร้างวัตถุนั้นและเพิ่มคู่ของค่าคีย์แบบไดนามิกหรือไม่ ฉันพยายามแล้ว: var vars = [{key:"key", value:"value"}]; vars[0].key = "newkey"; vars[0].value = "newvalue"; แต่นั่นไม่ได้ผล

8
ความแตกต่างระหว่าง“ process.stdout.write” และ“ console.log” ใน node.js หรือไม่
อะไรคือความแตกต่างระหว่าง "process.stdout.write" และ "console.log" ใน node.js? แก้ไข: การใช้ console.log สำหรับตัวแปรแสดงอักขระที่อ่านไม่ได้จำนวนมากในขณะที่ใช้ process.stdout.write แสดงวัตถุ ทำไมถึงเป็นอย่างนั้น?

23
สร้างอาร์เรย์ที่มีองค์ประกอบเดียวกันซ้ำหลายครั้ง
ใน Python โดยที่[2]list คือโค้ดต่อไปนี้จะให้ผลลัพธ์นี้: [2] * 5 # Outputs: [2,2,2,2,2] มีวิธีง่ายๆในการทำเช่นนี้กับอาร์เรย์ใน JavaScript? ฉันเขียนฟังก์ชันต่อไปนี้เพื่อทำ แต่มีบางสิ่งที่สั้นกว่าหรือดีกว่า var repeatelem = function(elem, n){ // returns an array with element elem repeated n times. var arr = []; for (var i = 0; i <= n; i++) { arr = arr.concat(elem); }; return arr; };

23
กำลังโหลดไฟล์ JSON ในเครื่อง
ฉันกำลังพยายามโหลดไฟล์ JSON ในเครื่อง แต่ไม่สามารถใช้งานได้ นี่คือรหัส JavaScript ของฉัน (ใช้ jQuery: var json = $.getJSON("test.json"); var data = eval("(" +json.responseText + ")"); document.write(data["a"]); ไฟล์ test.json: {"a" : "b", "c" : "d"} ไม่มีอะไรปรากฏขึ้นและ Firebug บอกฉันว่าข้อมูลไม่ได้ถูกกำหนด ใน Firebug ฉันเห็นjson.responseTextและมันดีและใช้ได้ แต่มันแปลกเมื่อฉันคัดลอกบรรทัด: var data = eval("(" +json.responseText + ")"); ในคอนโซลของ Firebug มันใช้งานได้และฉันสามารถเข้าถึงข้อมูลได้ ใครมีทางออก?

10
สร้างการโทรกลับที่กำหนดเองใน JavaScript
สิ่งที่ฉันต้องทำคือเรียกใช้ฟังก์ชั่นการโทรกลับเมื่อการดำเนินการของฟังก์ชันปัจจุบันสิ้นสุดลง function LoadData() { alert('The data has been loaded'); //Call my callback with parameters. For example, //callback(loadedData , currentObject); } ผู้บริโภคสำหรับฟังก์ชั่นนี้ควรเป็นเช่นนี้: object.LoadData(success); function success(loadedData , currentObject) { //Todo: some action here } ฉันจะใช้สิ่งนี้ได้อย่างไร
322 javascript 


13
รับดัชนีของวัตถุภายในอาร์เรย์จับคู่เงื่อนไข
ฉันมีอาร์เรย์เช่นนี้: [{prop1:"abc",prop2:"qwe"},{prop1:"bnmb",prop2:"yutu"},{prop1:"zxvz",prop2:"qwrq"},...] ฉันจะรับดัชนีของวัตถุที่ตรงกับเงื่อนไขโดยไม่วนซ้ำทั้งอาร์เรย์ได้อย่างไร ยกตัวอย่างเช่นให้ผมต้องการที่จะได้รับดัชนีprop2=="yutu"1 ผมเห็นแต่คิดว่ามันใช้สำหรับอาร์เรย์ง่ายๆเช่น.indexOf() ["a1","a2",...]ฉันตรวจสอบด้วยเช่นกัน$.grep()แต่สิ่งนี้คืนค่าวัตถุไม่ใช่ดัชนี

13
การหน่วงเวลาการเปลี่ยนเส้นทาง AngularJS จนกระทั่งรุ่นโหลดเพื่อป้องกันการสั่นไหว
ฉันสงสัยว่ามีวิธี (คล้ายกับ Gmail) สำหรับ AngularJS เพื่อหน่วงเวลาการแสดงเส้นทางใหม่จนกระทั่งหลังจากแต่ละรุ่นและข้อมูลถูกดึงมาโดยใช้บริการที่เกี่ยวข้อง ตัวอย่างเช่นหากมีProjectsControllerรายการที่ระบุโครงการทั้งหมดและproject_index.htmlซึ่งเป็นแม่แบบที่แสดงโครงการเหล่านี้Project.query()จะถูกดึงข้อมูลอย่างสมบูรณ์ก่อนที่จะแสดงหน้าใหม่ ก่อนหน้านั้นหน้าเก่าจะยังคงแสดงต่อไป (ตัวอย่างเช่นถ้าฉันเรียกดูหน้าอื่นแล้วตัดสินใจดูดัชนีโครงการนี้)

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