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

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

6
การจัดการข้อผิดพลาดเฉพาะใน JavaScript (คิดว่ามีข้อยกเว้น)
คุณจะใช้ข้อผิดพลาดประเภทต่างๆอย่างไรเพื่อที่คุณจะสามารถจับข้อผิดพลาดที่เฉพาะเจาะจงและปล่อยให้คนอื่นพูดถึง .. ? วิธีหนึ่งในการบรรลุเป้าหมายนี้คือการปรับเปลี่ยนต้นแบบของErrorวัตถุ: Error.prototype.sender = ""; function throwSpecificError() { var e = new Error(); e.sender = "specific"; throw e; } ตรวจจับข้อผิดพลาดเฉพาะ: try { throwSpecificError(); } catch (e) { if (e.sender !== "specific") throw e; // handle specific error } พวกคุณมีทางเลือกอื่นหรือไม่?

19
ฉันจะรับตัวเลือกจากวัตถุ jQuery ได้อย่างไร
$("*").click(function(){ $(this); // how can I get selector from $(this) ? }); มีวิธีง่ายๆในการรับตัวเลือก$(this)หรือไม่? มีวิธีการเลือกองค์ประกอบโดยตัวเลือก แต่สิ่งที่เกี่ยวกับการเลือกจากองค์ประกอบ ?

30
ผสาน 2 อาร์เรย์ของวัตถุ
มาดูตัวอย่างกัน var arr1 = new Array({name: "lang", value: "English"}, {name: "age", value: "18"}); var arr2 = new Array({name : "childs", value: '5'}, {name: "lang", value: "German"}); ฉันต้องการผสาน 2 อาร์เรย์ของวัตถุเหล่านั้นและสร้างอาร์เรย์ต่อไปนี้: arr3 = new Array({name: "lang", value: "German"}, {name: "age", value: "18"}, {name : "childs", value: '5'}); มีฟังก์ชัน JavaScript หรือ jQuery ที่จะทำสิ่งนี้หรือไม่? …

11
JavaScript - รับค่ารูปแบบ HTML
ฉันจะรับค่าของรูปแบบ HTML เพื่อส่งผ่านไปยัง JavaScript ได้อย่างไร ถูกต้องหรือไม่ สคริปต์ของฉันรับสองอาร์กิวเมนต์หนึ่งจากกล่องข้อความหนึ่งจากกล่องแบบเลื่อนลง <body> <form name="valform" action="" method="POST"> Credit Card Validation: <input type="text" id="cctextboxid" name="cctextbox"><br/> Card Type: <select name="cardtype" id="cardtypeid"> <option value="visa">Visa</option> <option value="mastercard">MasterCard</option> <option value="discover">Discover</option> <option value="amex">Amex</option> <option value="diners">Diners Club</option> </select><br/> <input type="button" name="submit" value="Verify Credit Card" onclick="isValidCreditCard(document.getElementById('cctextboxid').value,document.getElementById('cardtypeid').value)" /> </body>
112 javascript  html 

20
การเรียกใช้องค์ประกอบ <script> แทรกด้วย .innerHTML
ฉันมีสคริปต์ที่แทรกเนื้อหาบางส่วนลงในองค์ประกอบโดยใช้innerHTML. ตัวอย่างเช่นเนื้อหาอาจเป็น: &lt;script type="text/javascript"&gt;alert('test');&lt;/script&gt; &lt;strong&gt;test&lt;/strong&gt; ปัญหาคือโค้ดภายใน&lt;script&gt;แท็กไม่ได้รับการดำเนินการ ฉัน googled เล็กน้อย แต่ไม่มีวิธีแก้ปัญหาที่ชัดเจน หากฉันแทรกเนื้อหาโดยใช้ jQuery $(element).append(content);ส่วนของสคริปต์จะได้รับeval'd ก่อนที่จะฉีดเข้าไปใน DOM มีใครมีข้อมูลโค้ดที่เรียกใช้&lt;script&gt;องค์ประกอบทั้งหมดหรือไม่ โค้ด jQuery ค่อนข้างซับซ้อนดังนั้นฉันจึงไม่สามารถเข้าใจได้ว่ามันเป็นอย่างไร แก้ไข : เมื่อมองเข้าไปในโค้ด jQuery ฉันได้จัดการเพื่อหาว่า jQuery ทำอย่างไรซึ่งส่งผลให้เกิดรหัสต่อไปนี้: Demo: &lt;div id="element"&gt;&lt;/div&gt; &lt;script type="text/javascript"&gt; function insertAndExecute(id, text) { domelement = document.getElementById(id); domelement.innerHTML = text; var scripts = []; ret = domelement.childNodes; for ( …

30
ผลคูณคาร์ทีเซียนของอาร์เรย์หลายรายการใน JavaScript
Наэтотвопросестьответына Stack Overflow нарусском : Декартовопроизведениенесколькихмассивов คุณจะใช้ผลิตภัณฑ์คาร์ทีเซียนของหลายอาร์เรย์ใน JavaScript ได้อย่างไร? ตัวอย่างเช่น, cartesian([1, 2], [10, 20], [100, 200, 300]) ควรกลับ [ [1, 10, 100], [1, 10, 200], [1, 10, 300], [2, 10, 100], [2, 10, 200] ... ]

7
React JS - Uncaught TypeError: this.props.data.map ไม่ใช่ฟังก์ชัน
ฉันกำลังทำงานกับ reactjs และดูเหมือนจะไม่สามารถป้องกันข้อผิดพลาดนี้ได้เมื่อพยายามแสดงข้อมูล JSON (จากไฟล์หรือเซิร์ฟเวอร์): Uncaught TypeError: this.props.data.map is not a function ฉันได้ดู: รหัสตอบสนองที่ขว้าง“ TypeError: this.props.data.map ไม่ใช่ฟังก์ชัน” React.js this.props.data.map () ไม่ใช่ฟังก์ชัน สิ่งเหล่านี้ไม่ได้ช่วยฉันแก้ไขปัญหา หลังจากโหลดหน้าของฉันฉันสามารถตรวจสอบได้ว่า this.data.props ไม่ได้กำหนด (และมีค่าเทียบเท่ากับออบเจ็กต์ JSON - สามารถโทรติดต่อได้window.foo) ดังนั้นดูเหมือนว่าจะไม่โหลดในเวลาที่เรียกโดย ConversationList ฉันจะแน่ใจได้อย่างไรว่าmapเมธอดกำลังทำงานกับข้อมูล JSON ไม่ใช่undefinedตัวแปร var converter = new Showdown.converter(); var Conversation = React.createClass({ render: function() { var rawMarkup = converter.makeHtml(this.props.children.toString()); …
112 javascript  ajax  json  reactjs 

20
จะล้างแผนภูมิจากผืนผ้าใบเพื่อไม่ให้เกิดเหตุการณ์โฮเวอร์ได้อย่างไร
ฉันใช้ Chartjs เพื่อแสดงแผนภูมิเส้นและใช้งานได้ดี: // get line chart canvas var targetCanvas = document.getElementById('chartCanvas').getContext('2d'); // draw line chart var chart = new Chart(targetCanvas).Line(chartData); แต่ปัญหาเกิดขึ้นเมื่อฉันพยายามเปลี่ยนข้อมูลสำหรับแผนภูมิ ฉันอัปเดตกราฟโดยการสร้างอินสแตนซ์ใหม่ของแผนภูมิพร้อมจุดข้อมูลใหม่และทำให้ข้อมูลเริ่มต้นใหม่ ใช้งานได้ดี อย่างไรก็ตามเมื่อฉันวางเมาส์เหนือแผนภูมิใหม่หากฉันบังเอิญไปที่ตำแหน่งใดตำแหน่งหนึ่งที่ตรงกับจุดที่แสดงในแผนภูมิเก่าการวางเมาส์ / ป้ายกำกับจะยังคงถูกทริกเกอร์และทันใดนั้นแผนภูมิเก่าก็ปรากฏขึ้น มันยังคงมองเห็นได้ในขณะที่เมาส์ของฉันอยู่ที่ตำแหน่งนี้และจะหายไปเมื่อย้ายออกจากจุดนั้น ฉันไม่ต้องการให้แผนภูมิเก่าแสดง ฉันต้องการลบออกให้หมด ฉันได้พยายามล้างทั้งผืนผ้าใบและแผนภูมิที่มีอยู่ก่อนที่จะโหลดใหม่ ชอบ: targetCanvas.clearRect(0,0, targetCanvas.canvas.width, targetCanvas.canvas.height); และ chart.clear(); แต่สิ่งเหล่านี้ยังไม่ได้ผล มีความคิดเห็นเกี่ยวกับวิธีที่ฉันจะหยุดไม่ให้เกิดขึ้นได้อย่างไร

2
ฟิลด์ "module" package.json มีไว้ทำอะไร
ฉันเคยเห็นแพ็คเกจ npm ( ตัวอย่างเช่น vue ) มีpkg.moduleฟิลด์ใน package.json เป็น"module"สถานที่ให้บริการอย่างเป็นทางการหรือ NPM นี้คือการประชุมของบางชนิด? มีเอกสารสำหรับเรื่องนี้หรือไม่? มีไว้เพื่ออะไร? เส้นทาง esnext? เส้นทางโมดูลที่ไม่ได้รวมกลุ่ม?

4
js 'types' สามารถใช้ได้เฉพาะในไฟล์. ts - Visual Studio Code โดยใช้ @ ts-check
ฉันกำลังเริ่มใช้ TypeScript ในโครงการ Node ที่ฉันกำลังทำใน Visual Studio Code ฉันต้องการทำตามกลยุทธ์ "เลือกใช้" ซึ่งคล้ายกับ Flow ดังนั้นฉันจึงวางไว้// @ts-checkที่ด้านบนสุดของ.jsไฟล์โดยหวังว่าจะเปิดใช้ TS สำหรับไฟล์นั้น ในที่สุดฉันก็ต้องการประสบการณ์ "linting" แบบเดียวกับ Flow ดังนั้นฉันจึงติดตั้งปลั๊กอินTSLintเพื่อให้ฉันเห็นคำเตือน / ข้อผิดพลาดของ Intellisense แต่ด้วยไฟล์ของฉันดูเหมือน: // @ts-check module.exports = { someMethod: (param: string): string =&gt; { return param; }, }; และtsconfig.jsonไฟล์ของฉันดูเหมือน ... { "compilerOptions": { "target": "es2016", "module": "commonjs", "allowJs": …

2
พนักงานบริการสามารถทำอะไรได้บ้างที่พนักงานทำเว็บทำไม่ได้
พนักงานบริการสามารถทำอะไรได้บ้างที่พนักงานทำเว็บทำไม่ได้ หรือในทางกลับกัน? ดูเหมือนว่าผู้ปฏิบัติงานบนเว็บจะเป็นส่วนหนึ่งของฟังก์ชันการทำงานของผู้ปฏิบัติงานบริการ ถูกต้องหรือไม่

13
จะเรียกใช้หลายฟังก์ชันด้วย @click ใน vue ได้อย่างไร?
คำถาม: จะเรียกใช้หลายฟังก์ชันใน @click เดียวได้อย่างไร? (aka v-on:click)? ฉันเหนื่อย แบ่งฟังก์ชันด้วยเครื่องหมายอัฒภาค: &lt;div @click="fn1('foo');fn2('bar')"&gt; &lt;/div&gt;; ใช้หลายตัว@click: &lt;div @click="fn1('foo')" @click="fn2('bar')"&gt; &lt;/div&gt;; แต่จะทำอย่างไรให้ถูกต้อง? PS : แน่นอนว่าฉันทำได้เสมอ &lt;div v-on:click="fn3('foo', 'bar')"&gt; &lt;/div&gt; function fn3 (args) { fn1(args); fn2(args); } แต่บางครั้งมันก็ไม่ดี
112 javascript  vue.js 

9
ปฏิเสธที่จะโหลดสคริปต์เนื่องจากละเมิดคำสั่งนโยบายความปลอดภัยของเนื้อหาต่อไปนี้
เมื่อฉันพยายามปรับใช้แอปของฉันบนอุปกรณ์ที่มีระบบ Android ที่สูงกว่า 5.0.0 ( Lollipop ) ฉันยังคงได้รับข้อความแสดงข้อผิดพลาดประเภทนี้: 07-03 18: 39: 21.621: D / SystemWebChromeClient (9132): file: ///android_asset/www/index.html: Line 0: ปฏิเสธที่จะโหลดสคริปต์ "http: // xxxxx" เนื่องจากละเมิดเนื้อหาต่อไปนี้ คำสั่งนโยบายความปลอดภัย: "script-src 'self' 'unsafe-eval' 'unsafe-inline'" 07-03 18: 39: 21.621: I / chromium (9132): [INFO: CONSOLE (0)] "ปฏิเสธที่จะโหลดสคริปต์" http: // xxx "เนื่องจากละเมิดคำสั่งนโยบายความปลอดภัยของเนื้อหาต่อไปนี้:" script- src 'self' 'unsafe-eval' …

10
วิธีการจำลองวัตถุหน้าต่าง JavaScript โดยใช้ Jest?
ฉันต้องการทดสอบฟังก์ชันที่เปิดแท็บใหม่ในเบราว์เซอร์ openStatementsReport(contactIds) { window.open(`a_url_${contactIds}`); } ฉันต้องการจำลองopenฟังก์ชันของหน้าต่างเพื่อตรวจสอบว่า URL ที่ถูกต้องถูกส่งไปยังopenฟังก์ชัน ใช้ Jest ฉันไม่รู้ว่าจะล้อเลียนไฟล์window. ฉันพยายามตั้งค่าwindow.openด้วยฟังก์ชันจำลอง แต่วิธีนี้ไม่ได้ผล ด้านล่างนี้เป็นกรณีทดสอบ it('correct url is called', () =&gt; { window.open = jest.fn(); statementService.openStatementsReport(111); expect(window.open).toBeCalled(); }); แต่มันทำให้ฉันมีข้อผิดพลาด expect(jest.fn())[.not].toBeCalled() jest.fn() value must be a mock function or spy. Received: function: [Function anonymous] ฉันควรทำอย่างไรกับกรณีทดสอบ ข้อเสนอแนะหรือคำแนะนำใด ๆ จะได้รับการชื่นชม

13
ตรวจหา Safari โดยใช้ jQuery
แม้ว่าทั้งสองจะเป็นเบราว์เซอร์ที่ใช้ Webkit แต่ Safari urlencodes อัญประกาศใน URL ในขณะที่ Chrome ไม่มี ดังนั้นฉันต้องแยกความแตกต่างระหว่างสองสิ่งนี้ใน JS เอกสารการตรวจหาเบราว์เซอร์ของ jQueryทำเครื่องหมาย "ซาฟารี" ว่าเลิกใช้แล้ว มีวิธีที่ดีกว่านี้หรือฉันแค่ยึดติดกับค่าที่เลิกใช้ไปแล้วในตอนนี้

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