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

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

26
JavaScript ของ eval () ไม่ใช่ชั่วเมื่อใด
ฉันกำลังเขียนโค้ดจาวาสคริปต์เพื่อแยกฟังก์ชั่นที่ผู้ใช้ป้อน (สำหรับการทำงานเหมือนสเปรดชีต) เมื่อแยกสูตรแล้วฉันสามารถแปลงเป็น JavaScript และเรียกใช้eval()เพื่อให้ได้ผลลัพธ์ อย่างไรก็ตามฉันมักจะเบือนหน้าหนีจากการใช้งานeval()ถ้าฉันสามารถหลีกเลี่ยงได้เพราะมันเป็นสิ่งที่ชั่วร้าย (และถูกหรือผิดฉันคิดเสมอว่ามันเป็นสิ่งที่เลวร้ายกว่าใน JavaScript เพราะรหัสที่จะถูกประเมินอาจมีการเปลี่ยนแปลงโดยผู้ใช้ ) ดังนั้นเมื่อไรที่จะใช้มัน?

20
วิธีรับชื่อฟังก์ชั่นจากภายในฟังก์ชั่นนั้น?
ฉันจะเข้าถึงชื่อฟังก์ชันจากภายในฟังก์ชันนั้นได้อย่างไร // parasitic inheritance var ns.parent.child = function() { var parent = new ns.parent(); parent.newFunc = function() { } return parent; } var ns.parent = function() { // at this point, i want to know who the child is that called the parent // ie } var obj = new …

27
ฉันจะโหลดส่วนขยาย Chrome ที่ฉันกำลังพัฒนาใหม่อัตโนมัติได้อย่างไร
ฉันต้องการให้ส่วนขยาย chrome โหลดใหม่ทุกครั้งที่บันทึกไฟล์ในโฟลเดอร์ส่วนขยายโดยไม่ต้องคลิก "โหลดซ้ำ" ใน chrome: // extensions / อย่างชัดเจน เป็นไปได้ไหม แก้ไข: ฉันทราบว่าฉันสามารถอัปเดตช่วงเวลาที่ส่วนขยายโหลดซ้ำของ Chrome ซึ่งเป็นโซลูชันครึ่งทาง แต่ฉันต้องการทำให้ตัวแก้ไข (emacs หรือเพื่อนร่วมข้อความ) ทริกเกอร์การโหลดซ้ำหรือขอให้ Chrome ตรวจสอบ ไดเรกทอรีสำหรับการเปลี่ยนแปลง

4
วิธีรับ subarray จาก array?
ฉันมีvar ar = [1, 2, 3, 4, 5]และต้องการฟังก์ชั่นบางอย่างgetSubarray(array, fromIndex, toIndex)ที่ผลของการโทรเป็นแถวใหม่getSubarray(ar, 1, 3)[2, 3, 4]
263 javascript  arrays 

13
การโหลดภาพล่วงหน้าด้วย JavaScript
ฟังก์ชั่นที่ฉันเขียนด้านล่างเพียงพอที่จะโหลดภาพล่วงหน้าเป็นส่วนใหญ่หรือไม่ถ้าไม่ทั้งหมดเบราว์เซอร์ที่ใช้กันทั่วไปในปัจจุบัน function preloadImage(url) { var img=new Image(); img.src=url; } ฉันมีอาร์เรย์ของ URL ภาพที่ฉันวนซ้ำและเรียกใช้preloadImageฟังก์ชันสำหรับแต่ละ URL
263 javascript 

8
วิธีการใช้ underscore.js เป็นเครื่องมือแม่แบบ?
ฉันพยายามเรียนรู้เกี่ยวกับจาวาสคริปต์ใหม่ ๆ ในฐานะภาษาเซิร์ฟเวอร์และภาษาที่ใช้งานได้ ไม่กี่วันที่ผ่านมาฉันได้ยินเกี่ยวกับ node.js และแสดงกรอบงาน จากนั้นฉันเห็น underscore.js เป็นชุดฟังก์ชันยูทิลิตี้ ผมเห็นคำถามนี้ใน StackOverflow มันบอกว่าเราสามารถใช้ underscore.js เป็นเครื่องมือแม่แบบ ใครรู้บทเรียนที่ดีเกี่ยวกับวิธีการใช้ underscore.js สำหรับการสร้างเทมเพลตโดยเฉพาะอย่างยิ่งสำหรับผู้ที่มีประสบการณ์น้อยกับจาวาสคริปต์ขั้นสูง ขอบคุณ

6
ฉันต้องส่งคืนหลังจากแก้ไข / ปฏิเสธก่อนกำหนดหรือไม่
สมมติว่าฉันมีรหัสต่อไปนี้ function divide(numerator, denominator) { return new Promise((resolve, reject) => { if(denominator === 0){ reject("Cannot divide by 0"); return; //superfluous? } resolve(numerator / denominator); }); } หากเป้าหมายของฉันคือการใช้rejectเพื่อออกก่อนกำหนดฉันควรเข้าสู่นิสัยการreturnไอเอ็นจีทันทีหลังจากนั้นเช่นกัน?

14
พิจารณาว่าสตริงอยู่ในรายการใน JavaScript หรือไม่
ใน SQL เราสามารถดูว่าสตริงอยู่ในรายการดังนี้: Column IN ('a', 'b', 'c') เป็นวิธีที่ดีในการทำเช่นนี้ใน JavaScript? การทำสิ่งนี้เป็นสิ่งที่ไม่น่าเชื่อถือ if (expression1 || expression2 || str === 'a' || str === 'b' || str === 'c') { // do something } และฉันไม่แน่ใจเกี่ยวกับประสิทธิภาพหรือความชัดเจนของสิ่งนี้: if (expression1 || expression2 || {a:1, b:1, c:1}[str]) { // do something } หรืออาจใช้ฟังก์ชันสวิตช์: var str = …
262 javascript  string  list 

21
ป้องกันการแคชเบราว์เซอร์ของผลการโทร AJAX
ดูเหมือนว่าหากฉันโหลดเนื้อหาแบบไดนามิกโดยใช้$.get()ผลลัพธ์จะถูกแคชในเบราว์เซอร์ การเพิ่มสตริงแบบสุ่มใน QueryString ดูเหมือนว่าจะแก้ปัญหานี้ (ฉันใช้new Date().toString()) แต่รู้สึกเหมือนแฮ็ค มีวิธีอื่นในการบรรลุเป้าหมายนี้หรือไม่? หรือถ้าสตริงที่ไม่ซ้ำกันเป็นวิธีเดียวที่จะบรรลุเป้าหมายนี้ข้อเสนอแนะอื่น ๆ กว่าnew Date()?

14
วิธีการเรียนกับสแตติกใน JavaScript
ฉันรู้ว่ามันใช้งานได้: function Foo() {}; Foo.prototype.talk = function () { alert('hello~\n'); }; var a = new Foo; a.talk(); // 'hello~\n' แต่ถ้าฉันต้องการโทร Foo.talk() // this will not work Foo.prototype.talk() // this works correctly ฉันหาวิธีบางอย่างเพื่อให้Foo.talkทำงาน Foo.__proto__ = Foo.prototype Foo.talk = Foo.prototype.talk มีวิธีอื่นในการทำเช่นนี้อีกไหม? ฉันไม่รู้ว่าถูกต้องหรือไม่ คุณใช้วิธีการเรียนหรือวิธีการคงที่ในรหัส JavaScript ของคุณ?
262 javascript  oop 

23
การนำเข้า lodash ไปยังแอปพลิเคชัน angular2 + typescript
ฉันมีปัญหาในการพยายามนำโมดูล lodash ที่นำเข้ามา ฉันตั้งค่าโครงการของฉันโดยใช้ npm + gulp และกดไปที่กำแพงเดิมต่อไป ฉันเคยลองไส้เดือนธรรมดา แต่ก็พยายามพักด้วยเช่นกัน แพ็คเกจ lodash npm: (มีไฟล์ index.js ในโฟลเดอร์ root ของแพ็คเกจ) import * as _ from 'lodash'; ผลลัพธ์ใน: error TS2307: Cannot find module 'lodash'. แพคเกจ lodash-es npm: (มีการส่งออก defaut ใน lodash.js ฉันเป็นโฟลเดอร์รากของแพคเกจ) import * as _ from 'lodash-es/lodash'; ผลลัพธ์ใน: error TS2307: Cannot find …


4
จัดรูปแบบวันที่ด้วย moment.js
ฉันมีสตริงในรูปแบบนี้: var testDate = "Fri Apr 12 2013 19:08:55 GMT-0500 (CDT)" ฉันต้องการใช้ moment.js รับในรูปแบบนี้mm/dd/yyyy : 04/12/2013เพื่อแสดง ฉันพยายามจะใช้วิธีนี้ moment(testDate,'mm/dd/yyyy'); ข้อผิดพลาดใดและพูดว่าthere is no such method called replaceอย่างไร ฉันกำลังเข้าใกล้สิ่งนี้ในทางที่ผิดหรือเปล่า? แก้ไข: ฉันควรจะกล่าวถึงด้วยว่าฉันใช้รุ่นก่อนบรรจุของ moment.js และบรรจุสำหรับ meteor.js Object [object Date] has no method 'replace' : The Exact error from the console กองติดตาม: at makeDateFromStringAndFormat (http://127.0.0.1:3000/packages/moment/lib/moment/moment.js?b4e3ac4a3d0794023a4410e7941c3e179398b5b0:539:29) at …

11
อะไรบล็อก Ruby, Python เพื่อให้ได้ความเร็ว Javascript V8? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน5 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ มีคุณสมบัติ Ruby / Python ที่บล็อกการใช้งานการเพิ่มประสิทธิภาพ (เช่นการแคชแบบอินไลน์ ) V8 engine มีหรือไม่? Python ได้รับการพัฒนาโดย Google ร่วมกันดังนั้นจึงไม่ควรถูกบล็อกโดยสิทธิบัตรซอฟต์แวร์ หรือนี่เป็นเรื่องของทรัพยากรที่ใส่ลงในโครงการ V8 โดย Google

28
ในจาวาสคริปต์ฉันสามารถสร้างเหตุการณ์“ คลิก” โดยใช้โปรแกรมสำหรับองค์ประกอบอินพุตไฟล์โดยทางโปรแกรมได้หรือไม่?
ฉันต้องการสร้างเหตุการณ์คลิกบน<input type="file">แท็กโดยทางโปรแกรม เพียงแค่เรียกใช้ click () ดูเหมือนจะไม่ทำอะไรเลยหรืออย่างน้อยก็ไม่ได้ปรากฏขึ้นมาในกล่องโต้ตอบการเลือกไฟล์ ฉันได้ทดลองกับการจับภาพเหตุการณ์โดยใช้ผู้ฟังและเปลี่ยนเส้นทางของเหตุการณ์ แต่ฉันไม่สามารถรับเหตุการณ์นั้นได้จริง ๆ เหมือนมีคนคลิกที่มัน
261 javascript  html 

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