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

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

11
ลองใช้ JavaScript {} without catch {} ได้ไหม
ฉันมีฟังก์ชั่นหลายอย่างที่ส่งคืนบางอย่างหรือส่งข้อผิดพลาด ในฟังก์ชันหลักฉันเรียกสิ่งเหล่านี้และต้องการส่งคืนค่าที่ส่งคืนโดยแต่ละฟังก์ชันหรือไปที่ฟังก์ชันที่สองหากฟังก์ชันแรกเกิดข้อผิดพลาด โดยพื้นฐานแล้วสิ่งที่ฉันมีอยู่คือ: function testAll() { try { return func1(); } catch(e) {} try { return func2(); } catch(e) {} // If func1 throws error, try func2 try { return func3(); } catch(e) {} // If func2 throws error, try func3 } แต่จริงๆแล้วฉันต้องการtryส่งคืนเท่านั้น(เช่นถ้ามันไม่เกิดข้อผิดพลาด) ฉันไม่ต้องการcatchบล็อก อย่างไรก็ตามรหัสเช่นtry {}ล้มเหลวเนื่องจากไม่มีcatch {}บล็อก(ไม่ได้ใช้) ฉันใส่ตัวอย่างใน jsFiddle ดังนั้นมีวิธีใดบ้างที่จะcatchลบบล็อกเหล่านั้นออกไปในขณะที่ได้ผลเช่นเดียวกัน?

6
การเพิ่มโค้ดลงในฟังก์ชันจาวาสคริปต์โดยทางโปรแกรม
ฉันกำลังพยายามปรับแต่งไลบรารี JS ที่มีอยู่โดยไม่ต้องแก้ไขโค้ด JS ดั้งเดิม โค้ดนี้โหลดไฟล์ JS ภายนอกสองสามไฟล์ที่ฉันสามารถเข้าถึงได้และสิ่งที่ฉันต้องการทำคือเปลี่ยนหนึ่งในฟังก์ชันที่มีอยู่ในไฟล์ต้นฉบับโดยไม่ต้องคัดลอกและวางสิ่งทั้งหมดลงในไฟล์ JS ที่สอง ตัวอย่างเช่นขีด จำกัด ปิด JS อาจมีฟังก์ชันดังนี้: var someFunction = function(){ alert("done"); } ฉันต้องการที่จะสามารถต่อท้ายหรือต่อท้ายโค้ด JS บางส่วนในฟังก์ชันนั้นได้ เหตุผลหลักก็คือใน JS ที่ไม่สามารถแตะต้องได้เดิมฟังก์ชั่นนั้นค่อนข้างใหญ่มากและถ้า JS นั้นได้รับการอัปเดตฟังก์ชันที่ฉันเขียนทับด้วยจะล้าสมัย ฉันไม่แน่ใจว่าเป็นไปได้ทั้งหมด แต่ฉันคิดว่าจะตรวจสอบ

10
คุณสามารถระบุได้ว่า Chrome อยู่ในโหมดไม่ระบุตัวตนผ่านสคริปต์หรือไม่
เป็นไปได้หรือไม่ที่จะตรวจสอบว่า Google Chrome อยู่ในโหมดไม่ระบุตัวตนผ่านสคริปต์หรือไม่ แก้ไข: ที่ จริงฉันหมายถึงมันเป็นไปได้ผ่านผู้ใช้สคริปต์ แต่คำตอบสมมติว่า JavaScript กำลังทำงานบนหน้าเว็บ ฉันถามคำถามนี้อีกครั้งเกี่ยวกับสคริปต์ผู้ใช้

6
คำเตือน: คลาสคุณสมบัติ DOM ที่ไม่รู้จัก คุณหมายถึง className หรือเปล่า
ฉันเพิ่งเริ่มสำรวจ React โดยการเพิ่มส่วนประกอบที่มีฟังก์ชันการแสดงผลอย่างง่าย: render() { return <div class="myApp"></div> } เมื่อฉันเรียกใช้แอพฉันได้รับข้อผิดพลาดต่อไปนี้: Warning: Unknown DOM property class. Did you mean className? ฉันสามารถแก้ปัญหานี้โดยการเปลี่ยนไปclassclassName คำถามคือ; React บังคับใช้อนุสัญญานี้หรือไม่ นอกจากนี้ทำไมฉันต้องใช้classNameแทนของเดิมclass? หากนี่เป็นข้อ จำกัด นั่นเป็นเพราะไวยากรณ์ JSX หรือที่อื่น?

10
วิธีการสอดแนมบนคุณสมบัติมูลค่า (แทนที่จะเป็นวิธีการ) ด้วยจัสมิน
จัสมินspyOnเป็นสิ่งที่ดีในการเปลี่ยนพฤติกรรมของวิธีการ แต่มีวิธีใดในการเปลี่ยนคุณสมบัติค่า (แทนที่จะเป็นวิธีการ) สำหรับวัตถุหรือไม่? รหัสอาจเป็นดังนี้: spyOn(myObj, 'valueA').andReturn(1); expect(myObj.valueA).toBe(1);

7
อัปเดตองค์ประกอบการตอบสนองทุกวินาที
ฉันเล่นกับ React และมีองค์ประกอบเวลาต่อไปนี้ที่แสดงผลDate.now()บนหน้าจอ: import React, { Component } from 'react'; class TimeComponent extends Component { constructor(props){ super(props); this.state = { time: Date.now() }; } render(){ return( <div> { this.state.time } </div> ); } componentDidMount() { console.log("TimeComponent Mounted...") } } export default TimeComponent; วิธีใดเป็นวิธีที่ดีที่สุดในการทำให้ส่วนประกอบนี้อัปเดตทุก ๆ วินาทีเพื่อดึงเวลาจากมุมมองของปฏิกิริยาอีกครั้ง

5
ใช้ jQuery เพื่อดูว่า div มีลูกที่มีคลาสที่แน่นอนหรือไม่
ฉันมี div ที่เต็มไปแบบไดนามิกที่มีหลายย่อหน้ากับการเรียน#popup .filled-textฉันกำลังพยายามให้ jQuery บอกว่า#popupมีหนึ่งในย่อหน้าเหล่านี้อยู่หรือไม่ ฉันมีรหัสนี้: $("#text-field").keydown(function(event) { if($('#popup').has('p.filled-text')) { console.log("Found"); } }); ข้อเสนอแนะใด ๆ ?
115 javascript  jquery 

6
การแก้คำสัญญาหลาย ๆ ครั้งปลอดภัยหรือไม่?
ฉันมีบริการ i18n ในแอปพลิเคชันของฉันซึ่งมีรหัสต่อไปนี้: var i18nService = function() { this.ensureLocaleIsLoaded = function() { if( !this.existingPromise ) { this.existingPromise = $q.defer(); var deferred = this.existingPromise; var userLanguage = $( "body" ).data( "language" ); this.userLanguage = userLanguage; console.log( "Loading locale '" + userLanguage + "' from server..." ); $http( { method:"get", url:"/i18n/" + …

7
รวมนิยามคลาส JavaScript จากไฟล์อื่นใน Node.js
ฉันกำลังเขียนเซิร์ฟเวอร์อย่างง่ายสำหรับ Node.js และฉันใช้คลาสของตัวเองที่เรียกว่าUser: function User(socket) { this.socket = socket; this.nickname = null; /* ... just the typical source code like functions, variables and bugs ... */ this.write = function(object) { this.socket.write(JSON.stringify(object)); } }; จากนั้นในกระบวนการต่อมาฉันกำลังสร้างอินสแตนซ์ให้มาก: var server = net.createServer(function (socket) { /* other bugs */ var user = new User(socket); /* …

5
จะเข้าถึง webpack-dev-server จากอุปกรณ์ในเครือข่ายท้องถิ่นได้อย่างไร?
มีการกำหนดค่าเซิร์ฟเวอร์ webpack dev (เป็นส่วนหนึ่งของ config ทั้งหมด): config.devServer = { contentBase: './' + (options.publicFolder ? options.publicFolder : 'public'), stats: { modules: false, cached: false, colors: true, chunk: false }, proxy: [{ path: /^\/api\/(.*)/, target: options.proxyApiTarget, rewrite: rewriteUrl('/$1'), changeOrigin: true }] }; function rewriteUrl(replacePath) { return function (req, opt) { // gets …

8
เปลี่ยนพารามิเตอร์เส้นทางโดยไม่ต้องโหลดซ้ำใน Angular 2
ฉันกำลังสร้างเว็บไซต์อสังหาริมทรัพย์โดยใช้ Angular 2, Google Maps ฯลฯ และเมื่อผู้ใช้เปลี่ยนศูนย์กลางของแผนที่ฉันจะทำการค้นหา API ที่ระบุตำแหน่งปัจจุบันของแผนที่รวมทั้งรัศมี สิ่งนี้คือฉันต้องการสะท้อนค่าเหล่านั้นใน url โดยไม่ต้องโหลดซ้ำทั้งหน้า เป็นไปได้หรือไม่ ฉันพบวิธีแก้ปัญหาบางอย่างโดยใช้ AngularJS 1.x แต่ไม่มีอะไรเกี่ยวกับ Angular 2

8
Javascript: ปัดเศษขึ้นเป็นผลคูณถัดไปของ 5
ฉันต้องการฟังก์ชันยูทิลิตี้ที่รับค่าจำนวนเต็ม (มีความยาวตั้งแต่ 2 ถึง 5 หลัก) ซึ่งจะปัดเศษขึ้นเป็นตัวคูณถัดไปของ 5 แทนที่จะเป็นตัวคูณที่ใกล้ที่สุดของ 5 นี่คือสิ่งที่ฉันได้รับ: function round5(x) { return (x % 5) >= 2.5 ? parseInt(x / 5) * 5 + 5 : parseInt(x / 5) * 5; } เมื่อฉันวิ่งround5(32)มันให้ฉัน30โดยที่ฉันต้องการ 35 เมื่อฉันวิ่งround5(37)มันให้ฉัน35ที่ฉันต้องการ 40 เมื่อฉันวิ่งround5(132)มันให้ฉัน130ที่ฉันต้องการ 135 เมื่อฉันวิ่งround5(137)มันให้ฉัน135ที่ฉันต้องการ 140 ฯลฯ ... ฉันต้องทำอย่างไร

9
ผู้ฟังเหตุการณ์เมื่อมองเห็นองค์ประกอบ?
ฉันกำลังสร้างแถบเครื่องมือที่จะรวมอยู่ในเพจ div ที่มันจะถูกรวมอยู่ในจะเริ่มต้นกับdisplay: none มีวิธีใดบ้างที่ฉันสามารถใส่ตัวฟังเหตุการณ์บนแถบเครื่องมือของฉันเพื่อฟังเมื่อมองเห็นได้เพื่อให้สามารถเริ่มต้นได้ หรือฉันจะต้องส่งตัวแปรจากหน้าที่มี? ขอบคุณ
115 javascript 

9
นิพจน์ทั่วไป: อักขระใด ๆ ที่ไม่ใช่ตัวอักษรหรือตัวเลข
ฉันกำลังพยายามหานิพจน์ทั่วไปที่จะจับคู่อักขระใด ๆ ที่ไม่ใช่ตัวอักษรหรือตัวเลข ดังนั้นอักขระเช่น (,, @, £, () ฯลฯ ... เมื่อพบแล้วฉันต้องการแทนที่ด้วยช่องว่าง คำแนะนำใด ๆ.
115 javascript  regex 

5
Array.prototype.includes เทียบกับ Array.prototype.indexOf
นอกเหนือจากการอ่านที่ดีขึ้นจะมีประโยชน์ใด ๆ ที่includesมากกว่าindexOf? พวกเขาดูเหมือนกับฉัน อะไรคือความแตกต่างระหว่างสิ่งนี้ var x = [1,2,3].indexOf(1) > -1; //true และนี่? var y = [1,2,3].includes(1); //true

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