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

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

6
ฉันสามารถอัพเดทอุปกรณ์ประกอบฉากใน React.js ได้ไหม?
หลังจากเริ่มทำงานกับ React.js ดูเหมือนว่าpropsตั้งใจจะเป็นแบบคงที่ (ส่งผ่านมาจากองค์ประกอบหลัก) ในขณะที่stateการเปลี่ยนแปลงขึ้นอยู่กับเหตุการณ์ อย่างไรก็ตามฉันสังเกตเห็นในเอกสารอ้างอิงถึงcomponentWillReceivePropsซึ่งรวมถึงตัวอย่างนี้โดยเฉพาะ: componentWillReceiveProps: function(nextProps) { this.setState({ likesIncreasing: nextProps.likeCount > this.props.likeCount }); } นี้น่าจะบ่งบอกว่าคุณสมบัติสามารถเปลี่ยนในส่วนขึ้นอยู่กับการเปรียบเทียบของการnextProps this.propsฉันพลาดอะไรไป อุปกรณ์ประกอบฉากเปลี่ยนไปอย่างไรหรือฉันเข้าใจผิดว่าเรื่องนี้ถูกเรียกไปที่ใด?

8
แฮนด์บาร์ / หนวด - มีวิธีในการวนลูปผ่านคุณสมบัติของวัตถุหรือไม่?
ตามที่ชื่อของคำถามบอกว่ามีหนวด / มือจับวิธีการวนลูปผ่านคุณสมบัติของวัตถุหรือไม่ ดังนั้นด้วย var o = { bob : 'For sure', roger: 'Unknown', donkey: 'What an ass' } ฉันสามารถทำบางสิ่งในแม่แบบเอ็นจิ้นที่จะเทียบเท่าได้หรือไม่ for(var prop in o) { // with say, prop a variable in the template and value the property value } ?


11
JavaScript + Unicode regexes
ฉันจะใช้นิพจน์ปกติที่รับรู้ Unicode ใน JavaScript ได้อย่างไร ตัวอย่างเช่นควรมีบางสิ่งที่คล้ายกับ\wที่สามารถจับคู่จุดรหัสใด ๆ ในหมวดหมู่จดหมายหรือเครื่องหมาย (ไม่ใช่แค่ ASCII) และหวังว่าจะมีตัวกรองเช่น [[P *]] สำหรับเครื่องหมายวรรคตอน ฯลฯ

30
การนับจำนวนการเกิด / ความถี่ขององค์ประกอบอาเรย์
ใน Javascript ฉันกำลังพยายามหาค่าตัวเลขเริ่มต้นและนับองค์ประกอบที่อยู่ภายใน ตามหลักการแล้วผลลัพธ์จะเป็นสองอาร์เรย์ใหม่อันแรกที่ระบุองค์ประกอบที่ไม่ซ้ำกันและที่สองมีจำนวนครั้งที่แต่ละองค์ประกอบเกิดขึ้น อย่างไรก็ตามฉันเปิดให้คำแนะนำเกี่ยวกับรูปแบบของการส่งออก ตัวอย่างเช่นถ้าอาร์เรย์เริ่มต้นคือ: 5, 5, 5, 2, 2, 2, 2, 2, 9, 4 จากนั้นจะสร้างอาร์เรย์ใหม่สองอาร์เรย์ ครั้งแรกจะมีชื่อขององค์ประกอบที่ไม่ซ้ำกันแต่ละ: 5, 2, 9, 4 ที่สองจะมีจำนวนครั้งที่องค์ประกอบที่เกิดขึ้นในอาร์เรย์เริ่มต้น: 3, 5, 1, 1 เนื่องจากหมายเลข 5 เกิดขึ้นสามครั้งในอาเรย์เริ่มต้นหมายเลข 2 จึงเกิดขึ้นห้าครั้งและ 9 และ 4 ทั้งคู่ปรากฏขึ้นหนึ่งครั้ง ฉันค้นหาวิธีการแก้ปัญหามากมาย แต่ดูเหมือนว่าจะไม่มีอะไรทำงานได้และทุกอย่างที่ฉันลองด้วยตัวเองทำให้ซับซ้อนขึ้นอย่างน่าขัน ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม! ขอบคุณ :)

11
วิธีการส่งผ่านส่วนประกอบปฏิกิริยาไปยังส่วนประกอบปฏิกิริยาอื่นเพื่อแปลงเนื้อหาขององค์ประกอบแรกเป็นอย่างไร
มีวิธีการส่งผ่านองค์ประกอบหนึ่งไปยังส่วนประกอบปฏิกิริยาอื่นหรือไม่? ฉันต้องการสร้างแบบจำลององค์ประกอบการตอบสนองและส่งผ่านองค์ประกอบการตอบสนองอื่นเพื่อแปลงเนื้อหานั้น แก้ไข: นี่คือ codepen reactJS แสดงสิ่งที่ฉันพยายามทำ http://codepen.io/aallbrig/pen/bEhjo HTML <div id="my-component"> <p>Hi!</p> </div> ReactJS /**@jsx React.DOM*/ var BasicTransclusion = React.createClass({ render: function() { // Below 'Added title' should be the child content of <p>Hi!</p> return ( <div> <p> Added title </p> {this.props.children} </div> ) } }); React.renderComponent(BasicTransclusion(), document.getElementById('my-component'));

16
Javascript เทียบเท่ากับฟังก์ชั่น zip ของ Python
มีฟังก์ชัน javascript ที่เทียบเท่ากับฟังก์ชัน zip ของ Python หรือไม่ นั่นคือให้หลายอาร์เรย์ที่มีความยาวเท่ากันสร้างอาร์เรย์ของคู่ ตัวอย่างเช่นถ้าฉันมีสามอาร์เรย์ที่มีลักษณะเช่นนี้: var array1 = [1, 2, 3]; var array2 = ['a','b','c']; var array3 = [4, 5, 6]; อาร์เรย์เอาต์พุตควรเป็น: var output array:[[1,'a',4], [2,'b',5], [3,'c',6]]

23
บังคับให้วาดใหม่ / รีเฟรช DOM บน Chrome / Mac
ในบางครั้ง Chrome จะแสดง HTML / CSS ที่ถูกต้องอย่างสมบูรณ์ไม่ถูกต้องหรือไม่ถูกเลย การขุดผ่านผู้ตรวจสอบ DOM นั้นเพียงพอที่จะทำให้เกิดข้อผิดพลาดในวิธีการและวาดใหม่ได้อย่างถูกต้องดังนั้นจึงเป็นกรณีที่มาร์กอัปเป็นสิ่งที่ดี สิ่งนี้เกิดขึ้นบ่อยครั้ง (และคาดการณ์ได้) เพียงพอในโครงการที่ฉันกำลังทำอยู่ซึ่งฉันได้วางโค้ดไว้เพื่อบังคับให้วาดใหม่ในบางสถานการณ์ ใช้ได้กับเบราว์เซอร์ / ระบบผสมส่วนใหญ่: el.style.cssText += ';-webkit-transform:rotateZ(0deg)' el.offsetHeight el.style.cssText += ';-webkit-transform:none' เช่นเดียวกับปรับแต่งคุณสมบัติ CSS ที่ไม่ได้ใช้แล้วขอข้อมูลบางอย่างที่บังคับให้วาดใหม่จากนั้นคลายคุณสมบัติ น่าเสียดายที่ทีมงานที่อยู่เบื้องหลัง Chrome สำหรับ Mac นั้นดูเหมือนจะพบวิธีที่จะชดเชยความสูงนั้นได้โดยไม่ต้องวาดใหม่ ดังนั้นการฆ่าแฮ็คที่มีประโยชน์อย่างอื่น จนถึงตอนนี้สิ่งที่ดีที่สุดที่ฉันได้รับเพื่อให้ได้ผลเช่นเดียวกันกับ Chrome / Mac คือความอัปลักษณ์ชิ้นนี้: $(el).css("border", "solid 1px transparent"); setTimeout(function() { $(el).css("border", "solid 0px transparent"); }, 1000); ในขณะที่จริงบังคับให้องค์ประกอบที่จะกระโดดเล็กน้อยจากนั้นทำใจให้สบายวินาทีและกระโดดกลับ …


5
Node.js และการร้องขอที่ใช้ CPU มาก
ฉันเริ่มซ่อมเซิร์ฟเวอร์ Node.js HTTP และชอบที่จะเขียน Javascript ฝั่งเซิร์ฟเวอร์จริงๆ แต่มีบางอย่างที่ทำให้ฉันเริ่มใช้ Node.js สำหรับเว็บแอปพลิเคชันของฉัน ฉันเข้าใจแนวคิด async I / O ทั้งหมด แต่ฉันค่อนข้างกังวลเกี่ยวกับเคสขอบที่รหัสขั้นตอนเป็นอย่างมาก CPU เช่นการจัดการภาพหรือเรียงลำดับชุดข้อมูลขนาดใหญ่ ตามที่ฉันเข้าใจเซิร์ฟเวอร์จะเร็วมากสำหรับคำขอหน้าเว็บอย่างง่ายเช่นการดูรายชื่อผู้ใช้หรือการดูโพสต์บล็อก อย่างไรก็ตามหากฉันต้องการเขียนโค้ดที่เน้น CPU มาก (ในส่วนท้ายของผู้ดูแลระบบ) ที่สร้างกราฟิกหรือปรับขนาดภาพหลายพันภาพคำขอจะช้ามาก (ไม่กี่วินาที) เนื่องจากรหัสนี้ไม่ใช่ async ทุกคำขอที่มาถึงเซิร์ฟเวอร์ในช่วงสองสามวินาทีนั้นจะถูกบล็อกจนกว่าคำขอของฉันจะเสร็จสิ้น หนึ่งข้อเสนอแนะคือการใช้ Web Workers สำหรับงานที่ต้องใช้ CPU มาก อย่างไรก็ตามฉันเกรงว่าเจ้าหน้าที่เว็บจะทำให้การเขียนโค้ดแบบล้างนั้นทำได้ยากเนื่องจากทำงานโดยการรวมไฟล์ JS แยกต่างหาก จะเกิดอะไรขึ้นถ้ารหัสที่ใช้งาน CPU เข้มข้นอยู่ในวิธีการของวัตถุ มันค่อนข้างจะเขียนไฟล์ JS สำหรับทุกวิธีที่ใช้ CPU มาก ข้อเสนอแนะอีกประการหนึ่งคือการวางไข่กระบวนการเด็ก แต่นั่นทำให้รหัสบำรุงรักษาน้อย ข้อเสนอแนะใดที่จะเอาชนะอุปสรรค (รับรู้) นี้? …

6
จุลภาคต่อท้ายในอาร์เรย์และวัตถุเป็นส่วนหนึ่งของข้อมูลจำเพาะหรือไม่
เครื่องหมายจุลภาคต่อท้ายเป็นมาตรฐานใน JavaScript หรือเบราว์เซอร์ส่วนใหญ่เช่น Chrome และ Firefox เป็นเพียงแค่ยอมรับหรือไม่ ฉันคิดว่าพวกเขาเป็นมาตรฐาน แต่ IE8 puked หลังจากพบหนึ่ง - แน่นอนว่า IE ไม่สนับสนุนสิ่งที่แทบจะไม่หมายความว่ามันไม่ได้มาตรฐาน นี่คือตัวอย่างของสิ่งที่ฉันหมายถึง (หลังจากองค์ประกอบสุดท้ายของอาร์เรย์หนังสือ): var viewModel = { books: ko.observableArray([ { title: "..", display: function() { return ".."; } }, { title: "..", display: function() { return ".."; } }, { title: "..", display: function() { …
215 javascript 

19
ล้างคอนโซล javascript ใน Google Chrome
ฉันสงสัยว่าฉันสามารถล้างคอนโซลด้วยคำสั่งบางอย่าง .. console.log()สามารถพิมพ์ ... มีคำสั่งให้ล้างข้อมูลคอนโซลหรือไม่ .. ฉันได้ลองconsole.log(console);และรับฟังก์ชั่นนี้ด้านล่าง ... assert: function assert() { [native code] } constructor: function Console() { [native code] } count: function count() { [native code] } debug: function debug() { [native code] } dir: function dir() { [native code] } dirxml: function dirxml() { [native code] } …

5
วิธีการเข้าถึงสถานะของเด็กในการตอบสนอง?
ฉันมีโครงสร้างต่อไปนี้: FormEditor- เก็บ FieldEditor หลายอัน FieldEditor- แก้ไขฟิลด์ของแบบฟอร์มและบันทึกค่าต่าง ๆ เกี่ยวกับมันในสถานะ เมื่อคลิกปุ่มภายใน FormEditor ฉันต้องการรวบรวมข้อมูลเกี่ยวกับฟิลด์จากFieldEditorส่วนประกอบทั้งหมดข้อมูลที่อยู่ในสถานะของพวกเขาและมีทั้งหมดภายใน FormEditor ฉันถือว่าการจัดเก็บข้อมูลเกี่ยวกับเขตข้อมูลนอกFieldEditorสถานะของและวางไว้ในFormEditorสถานะของแทน อย่างไรก็ตามนั่นจะต้องFormEditorฟังFieldEditorส่วนประกอบแต่ละอย่างเมื่อมีการเปลี่ยนแปลงและจัดเก็บข้อมูลในสถานะ ฉันไม่สามารถเข้าถึงสถานะของเด็กแทนได้หรือไม่ มันเหมาะไหม

22
ฉันจะสร้างข้อผิดพลาดที่กำหนดเองใน JavaScript ได้อย่างไร
ด้วยเหตุผลบางอย่างดูเหมือนว่าการมอบหมายให้สร้างไม่ทำงานในตัวอย่างต่อไปนี้: function NotImplementedError() { Error.apply(this, arguments); } NotImplementedError.prototype = new Error(); var nie = new NotImplementedError("some message"); console.log("The message is: '"+nie.message+"'") The message is: ''เล่นนี้จะช่วยให้ แนวคิดใดเกี่ยวกับสาเหตุหรือหากมีวิธีที่ดีกว่าในการสร้างErrorคลาสย่อยใหม่ มีปัญหากับapplying Errorconstructor ที่ฉันไม่รู้หรือไม่?

4
ค่าเท็จทั้งหมดใน JavaScript
อะไรคือค่าใน JavaScript ที่มี 'falsey'หมายความว่าพวกเขาประเมินเป็นเท็จในการแสดงออกเช่นif(value), value ?และ!value? มีการอภิปรายบางอย่างเกี่ยวกับจุดประสงค์ของค่าความผิดพลาดใน Stack Overflow แล้วแต่ไม่มีคำตอบที่ครบถ้วนสมบูรณ์ที่แสดงรายการว่าค่าความผิดทั้งหมดเป็นอย่างไร ฉันไม่พบรายการที่สมบูรณ์ในการอ้างอิง JavaScript ของ MDNและฉันรู้สึกประหลาดใจที่พบว่าผลลัพธ์อันดับต้น ๆ เมื่อมองหารายการค่า falsey ที่เชื่อถือได้อย่างสมบูรณ์ใน JavaScript คือบทความในบล็อกซึ่งบางส่วนมีการละเว้นที่ชัดเจน (ตัวอย่างเช่นNaN) และไม่มีรูปแบบใดเช่น Stack Overflow ที่สามารถเพิ่มความคิดเห็นหรือคำตอบอื่นเพื่อชี้ให้เห็นถึงนิสัยใจคอความประหลาดใจการละเว้นความผิดพลาดหรือข้อ จำกัด ดังนั้นมันจึงสมเหตุสมผลที่จะสร้างขึ้นมา
215 javascript 

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