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

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

7
สลับคำสั่งสำหรับการจับคู่สตริงใน JavaScript
ฉันจะเขียน swtich สำหรับเงื่อนไขต่อไปนี้ได้อย่างไร หาก URL มี "foo" ดังนั้น settings.base_url คือ "bar" ต่อไปนี้คือการบรรลุเอฟเฟ็กต์ที่ต้องการ แต่ฉันรู้สึกว่ามันสามารถจัดการได้ง่ายขึ้นในสวิตช์: var doc_location = document.location.href; var url_strip = new RegExp("http:\/\/.*\/"); var base_url = url_strip.exec(doc_location) var base_url_string = base_url[0]; //BASE URL CASES // LOCAL if (base_url_string.indexOf('xxx.local') > -1) { settings = { "base_url" : "http://xxx.local/" }; } // DEV …



6
ใช้ bitwise หรือ 0 เพื่อปูพื้นตัวเลข
เพื่อนร่วมงานของฉันสะดุดเมื่อวิธีการตั้งค่าตัวเลขลอยพื้นโดยใช้บิตหรือ: var a = 13.6 | 0; //a == 13 เรากำลังพูดถึงมันและสงสัยบางสิ่ง มันทำงานยังไง? ทฤษฏีของเราคือการใช้โอเปอเรเตอร์ดังกล่าวปลดจำนวนให้เป็นจำนวนเต็มดังนั้นจึงลบส่วนที่เป็นเศษส่วน มันมีข้อดีมากกว่าการทำMath.floorหรือไม่? อาจเร็วกว่านี้ไหม? (เล่นสำนวนไม่ได้ตั้งใจ) มันมีข้อเสียหรือไม่? อาจจะไม่ได้ผลในบางกรณี? ความชัดเจนเป็นสิ่งที่ชัดเจนเนื่องจากเราต้องหาและฉันก็เขียนคำถามนี้ ขอบคุณ

20
Uncaught SyntaxError: โทเค็นที่ไม่คาดคิด:
ฉันใช้งาน AJAX ในสคริปต์ MooTools ของฉันมันใช้งานได้ดีใน Firefox แต่ใน Chrome ฉันได้รับUncaught SyntaxError: Unexpected token :ข้อผิดพลาดฉันไม่สามารถระบุสาเหตุได้ การใส่ความคิดเห็นให้กับโค้ดเพื่อกำหนดว่าโค้ดที่ไม่ดีนั้นไม่ได้ให้ผลลัพธ์อะไรฉันคิดว่าอาจเป็นปัญหากับ JSON ที่ส่งคืน การตรวจสอบในคอนโซลฉันเห็น JSON ที่ส่งคืนคือ: {"votes":47,"totalvotes":90} ฉันไม่เห็นปัญหาใด ๆ กับมันทำไมข้อผิดพลาดนี้จะเกิดขึ้น? vote.each(function(e){ e.set('send', { onRequest : function(){ spinner.show(); }, onComplete : function(){ spinner.hide(); }, onSuccess : function(resp){ var j = JSON.decode(resp); if (!j) return false; var restaurant = …


4
สามารถขยายประเภทใน typescript ได้หรือไม่?
สมมติว่าฉันมีประเภทต่อไปนี้: type Event = { name: string; dateCreated: string; type: string; } ตอนนี้ฉันต้องการขยายประเภทนี้เช่น type UserEvent extends Event = { UserId: string; } วิธีนี้ใช้ไม่ได้ ฉันจะทำเช่นนี้ได้อย่างไร?

13
AngularJS ไม่ส่งค่าเขตข้อมูลที่ซ่อนอยู่
สำหรับกรณีการใช้งานเฉพาะฉันต้องส่งแบบฟอร์มเดียว "เก่า" หมายถึงฉันใช้แบบฟอร์มที่มี action = "" การตอบกลับถูกสตรีมดังนั้นฉันไม่โหลดหน้าซ้ำ ฉันทราบดีว่าแอป AngularJS ทั่วไปจะไม่ส่งแบบฟอร์มนั้น แต่จนถึงตอนนี้ฉันไม่มีทางเลือกอื่น ที่กล่าวว่าฉันพยายามเติมฟิลด์ที่ซ่อนอยู่บางส่วนจาก Angular: <input type="hidden" name="someData" ng-model="data" /> {{data}} โปรดทราบว่าค่าที่ถูกต้องในข้อมูลจะปรากฏขึ้น ฟอร์มดูเหมือนว่าฟอร์มมาตรฐาน: <form id="aaa" name="aaa" action="/reports/aaa.html" method="post"> ... <input type="submit" value="Export" /> </form> หากฉันกดปุ่มส่งจะไม่มีการส่งค่าใด ๆ ไปยังเซิร์ฟเวอร์ ถ้าฉันเปลี่ยนฟิลด์อินพุตให้พิมพ์ "text" มันทำงานได้ตามที่คาดไว้ ข้อสันนิษฐานของฉันคือเขตข้อมูลที่ซ่อนอยู่ไม่ได้บรรจุจริง ๆ ในขณะที่เขตข้อมูลข้อความจะแสดงเนื่องจากการผูกสองทาง แนวคิดใดบ้างที่ฉันสามารถส่งฟิลด์ที่ซ่อนอยู่ซึ่งบรรจุโดย AngularJS

13
“ นำเข้าโทเค็นที่ไม่คาดคิด” ใน Nodejs5 และ babel หรือไม่
ในไฟล์ js ฉันใช้การนำเข้าแทนที่จะต้องการ import co from 'co'; และพยายามเรียกใช้โดยตรงโดย nodejs เนื่องจากมันกล่าวว่าการนำเข้าคือ 'คุณสมบัติการจัดส่งสินค้า' และการสนับสนุนโดยไม่มีการตั้งค่าสถานะรันไทม์ ( https://nodejs.org/en/docs/es6/ ) แต่ฉันได้รับข้อผิดพลาด import co from 'co'; ^^^^^^ SyntaxError: Unexpected token import จากนั้นฉันก็พยายามใช้บาเบล npm install -g babel-core npm install -g babel-cli npm install babel-core //install to babel locally, is it necessary? และดำเนินการโดย babel-node js.js ยังคงมีข้อผิดพลาดเดียวกันการนำเข้าโทเค็นที่ไม่คาดคิด? ฉันจะกำจัดมันได้อย่างไร

9
วิธีการหากุญแจของกัญชา?
ฉันรู้ใน javascript Objects เป็นสองเท่าของแฮช แต่ฉันไม่สามารถหาฟังก์ชั่นในตัวเพื่อรับกุญแจได้ var h = {a:'b',c:'d'}; ฉันต้องการบางสิ่งบางอย่าง var k = h.keys() ; // k = ['a','c']; มันง่ายที่จะเขียนฟังก์ชั่นของตัวเองเพื่อวนซ้ำไอเท็มและเพิ่มคีย์ไปยังอาเรย์ที่ฉันกลับมา แต่มีวิธีทำความสะอาดมาตรฐานที่จะทำเช่นนั้นหรือไม่? ฉันรู้สึกว่ามันคงเป็นฟังก์ชั่นที่เรียบง่ายที่ฉันพลาดไป แต่ฉันหามันไม่เจอ!
192 javascript  object  key 

17
สคริปต์ Concat เรียงตามลำดับด้วย Gulp
กล่าวว่าสำหรับตัวอย่างเช่นคุณกำลังสร้างโครงการ Backbone หรืออะไรก็ตามและคุณจำเป็นต้องโหลดสคริปต์ในลำดับที่แน่นอนเช่นจะต้องมีการโหลดก่อนunderscore.jsbackbone.js ฉันจะทำให้มันเป็นบทสรุปได้อย่างไรเพื่อที่พวกเขาจะได้อยู่ในระเบียบ? // JS concat, strip debugging and minify gulp.task('scripts', function() { gulp.src(['./source/js/*.js', './source/js/**/*.js']) .pipe(concat('script.js')) .pipe(stripDebug()) .pipe(uglify()) .pipe(gulp.dest('./build/js/')); }); ฉันมีลำดับที่ถูกต้องของสคริปต์ในของฉันsource/index.htmlแต่เนื่องจากไฟล์ถูกจัดเรียงตามลำดับตัวอักษร gulp จะต่อกันunderscore.jsหลังจากbackbone.jsนั้นและลำดับของสคริปต์ในของฉันsource/index.htmlไม่สำคัญมันจึงดูที่ไฟล์ในไดเรกทอรี ดังนั้นใครมีความคิดเกี่ยวกับเรื่องนี้? คิดที่ดีที่สุดที่ฉันได้เป็นสคริปต์ที่จะเปลี่ยนชื่อผู้ขายที่มี1, 2, 3เพื่อให้พวกเขาสั่งซื้อที่เหมาะสม แต่ผมไม่แน่ใจว่าถ้าฉันเช่นนี้ เมื่อฉันเรียนรู้เพิ่มเติมฉันพบว่า Browserify เป็นวิธีแก้ปัญหาที่ยอดเยี่ยมมันอาจเป็นความเจ็บปวดในตอนแรก แต่มันก็ยอดเยี่ยม
192 javascript  gulp 

12
คำขอ HTTP GET ใน Node.js Express
ฉันจะขอ HTTP จากภายใน Node.js หรือ Express.js ได้อย่างไร ฉันต้องเชื่อมต่อกับบริการอื่น ฉันหวังว่าการโทรแบบอะซิงโครนัสและการติดต่อกลับมีการตอบสนองของเซิร์ฟเวอร์ระยะไกล

23
Uncaught SyntaxError: โทเค็นที่ไม่คาดคิดกับ JSON.parse
สิ่งที่ทำให้เกิดข้อผิดพลาดนี้ในบรรทัดที่สาม? var products = [{ "name": "Pizza", "price": "10", "quantity": "7" }, { "name": "Cerveja", "price": "12", "quantity": "5" }, { "name": "Hamburguer", "price": "10", "quantity": "2" }, { "name": "Fraldas", "price": "6", "quantity": "2" }]; console.log(products); var b = JSON.parse(products); //unexpected token o เรียกใช้ข้อมูลโค้ดซ่อนผลลัพธ์ขยายตัวอย่างข้อมูล เปิดคอนโซลเพื่อดูข้อผิดพลาด
192 javascript  jquery  json 

9
ฉันจะวนซ้ำแถวตารางและเซลล์ใน JavaScript ได้อย่างไร
ถ้าฉันมีตาราง HTML ... พูด <div id="myTabDiv"> <table name="mytab" id="mytab1"> <tr> <td>col1 Val1</td> <td>col2 Val2</td> </tr> <tr> <td>col1 Val3</td> <td>col2 Val4</td> </tr> </table> </div> ฉันจะวนซ้ำแถวตารางทั้งหมดอย่างไร (สมมติว่าจำนวนแถวสามารถเปลี่ยนแปลงได้ในแต่ละครั้งที่ฉันตรวจสอบ) และดึงค่าจากแต่ละเซลล์ในแต่ละแถวจากภายใน JavaScript
192 javascript 

11
แทนที่ช่องว่างหลายช่องด้วยช่องว่างเดียวในสตริง JavaScript
ฉันมีสตริงที่มีช่องว่างพิเศษทุกครั้งที่มีพื้นที่ว่างมากกว่าหนึ่งช่องฉันก็อยากให้เป็นพื้นที่ ๆ เดียว ใคร? ฉันพยายามค้นหา google แต่ไม่มีอะไรทำงานให้ฉัน ขอบคุณ
191 javascript  string  trim 

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