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

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

30
คำนวณอายุที่ให้วันเกิดในรูปแบบ YYYYMMDD
ฉันจะคำนวณอายุเป็นปีได้อย่างไรโดยกำหนดวันเกิดในรูปแบบ YYYYMMMM มันเป็นไปได้โดยใช้Date()ฟังก์ชั่น? ฉันกำลังมองหาทางออกที่ดีกว่าที่ฉันใช้อยู่ตอนนี้: var dob = '19800810'; var year = Number(dob.substr(0, 4)); var month = Number(dob.substr(4, 2)) - 1; var day = Number(dob.substr(6, 2)); var today = new Date(); var age = today.getFullYear() - year; if (today.getMonth() < month || (today.getMonth() == month && today.getDate() < day)) { age--; …
285 javascript  date 

10
ทำไมอินสแตนซ์ของคืนเท็จสำหรับตัวอักษรบางตัว?
"foo" instanceof String //=> false "foo" instanceof Object //=> false true instanceof Boolean //=> false true instanceof Object //=> false false instanceof Boolean //=> false false instanceof Object //=> false // the tests against Object really don't make sense ตัวอักษร Array และ Object literals ตรงกัน ... [0,1] instanceof Array //=> …

7
ผลักดันองค์ประกอบหลายรายการเพื่ออาร์เรย์
ฉันพยายามที่จะผลักองค์ประกอบหลายรายการเป็นหนึ่งอาร์เรย์ แต่ได้รับข้อผิดพลาด > a = [] [] > a.push.apply(null, [1,2]) TypeError: Array.prototype.push called on null or undefined ฉันพยายามทำสิ่งที่คล้ายกันที่ฉันทำในทับทิมฉันคิดว่าapplyมันเป็นอย่าง*นั้น >> a = [] => [] >> a.push(*[1,2]) => [1, 2]
284 javascript 


21
ตรวจสอบว่าตัวเลขมีจุดทศนิยมหรือเป็นจำนวนเต็ม
ฉันกำลังมองหาวิธีที่ง่ายใน JavaScript เพื่อตรวจสอบว่าตัวเลขมีทศนิยมในนั้นหรือไม่ (เพื่อพิจารณาว่าเป็นจำนวนเต็ม) ตัวอย่างเช่น 23 -> OK 5 -> OK 3.5 -> not OK 34.345 -> not OK if(number is integer) {...}

30
ตรวจสอบว่าสตริง JavaScript เป็น URL หรือไม่
มีวิธีใน JavaScript เพื่อตรวจสอบว่าสตริงเป็น URL หรือไม่? regexes ได้รับการยกเว้นเนื่องจาก URL ที่เขียนส่วนใหญ่มีแนวโน้มเช่นstackoverflow; ที่จะบอกว่ามันอาจจะไม่ได้.com, หรือwwwhttp
284 javascript  string  url 

10
ฉันจะหลีกเลี่ยงพฤติกรรมแปดส่วนของ JavaScript ได้อย่างไร
ลองดำเนินการดังต่อไปนี้ใน JavaScript: parseInt('01'); //equals 1 parseInt('02'); //equals 2 parseInt('03'); //equals 3 parseInt('04'); //equals 4 parseInt('05'); //equals 5 parseInt('06'); //equals 6 parseInt('07'); //equals 7 parseInt('08'); //equals 0 !! parseInt('09'); //equals 0 !! ฉันเพิ่งเรียนรู้วิธีที่ยากที่จาวาสคริปต์คิดว่าศูนย์นำจะระบุจำนวนเต็มฐานแปดและเนื่องจากไม่มี"8"หรือ"9"ในฐาน -8 ฟังก์ชันจะส่งกลับศูนย์ ชอบหรือไม่นี้เกิดจากการออกแบบ วิธีแก้ปัญหาคืออะไร หมายเหตุ: เพื่อความสมบูรณ์ฉันจะโพสต์โซลูชัน แต่เป็นวิธีแก้ปัญหาที่ฉันเกลียดดังนั้นโปรดโพสต์คำตอบอื่น ๆ / ดีกว่า ปรับปรุง: รุ่นที่ 5 ของมาตรฐาน JavaScript ( ECMA-262 ) …

5
แบบแผนการตั้งชื่อไฟล์ javascript คืออะไร? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ควรตั้งชื่อไฟล์ some-with-hyphens.js, camelCased.js หรืออย่างอื่น? ฉันไม่พบคำตอบสำหรับคำถามนี้ที่นี่

25
เหตุการณ์คลิก jQuery ยิงหลายครั้ง
ฉันกำลังพยายามเขียนวิดีโอเกมโป๊กเกอร์ใน Javascript เพื่อหาพื้นฐานของเกมนี้และฉันพบปัญหาที่ jQuery click event handler ยิงหลายครั้ง พวกมันติดอยู่กับปุ่มสำหรับวางเดิมพันและมันใช้งานได้ดีสำหรับการวางเดิมพันในมือแรกระหว่างเกม (ยิงเพียงครั้งเดียว); แต่ในการเดิมพันสำหรับมือสองก็ยิงเหตุการณ์คลิกสองครั้งในแต่ละครั้งที่มีการเดิมพันหรือเดิมพันสถานที่กดปุ่ม (เพื่อให้เป็นสองเท่าของจำนวนเงินที่ถูกต้องเป็นทางออกสำหรับแต่ละกด) โดยรวมก็เป็นไปตามรูปแบบนี้จำนวนครั้งเหตุการณ์คลิกยิงเมื่อกดปุ่มเดิมพันครั้งเดียว - ที่ithระยะเวลาของลำดับคือสำหรับการเดิมพันของithมือจากจุดเริ่มต้นของเกม: 1, 2, 4 , 7, 11, 16, 22, 29, 37, 46 ซึ่งดูเหมือนจะเป็น n (n + 1) / 2 + 1 สำหรับสิ่งที่คุ้มค่า - และฉันไม่ฉลาดพอที่จะเข้าใจสิ่งนั้นได้ฉันใช้OEIS . :) นี่คือฟังก์ชันที่มีตัวจัดการเหตุการณ์คลิกที่ทำงาน หวังว่ามันจะง่ายต่อการเข้าใจ (แจ้งให้เราทราบหากไม่ฉันต้องการได้รับที่ดีขึ้นเช่นกัน): /** The following function keeps track of …

14
แปลง Data URI เป็น File จากนั้นผนวกไปที่ FormData
ฉันพยายามที่จะใช้งานเครื่องมืออัปโหลดรูปภาพ HTML5 ใหม่เช่นเดียวกับบนเว็บไซต์Mozilla Hacksแต่ทำงานได้กับเบราว์เซอร์ WebKit ส่วนหนึ่งของงานคือการแยกไฟล์ภาพจากcanvasวัตถุและผนวกเข้ากับวัตถุFormDataสำหรับการอัปโหลด ปัญหาก็คือว่าในขณะที่canvasมีtoDataURLฟังก์ชั่นที่จะกลับมาเป็นตัวแทนของไฟล์ภาพวัตถุ FormData ยอมรับเฉพาะไฟล์หรือวัตถุหยดจากไฟล์ API โซลูชัน Mozilla ใช้ฟังก์ชัน Firefox เท่านั้นต่อไปนี้ในcanvas: var file = canvas.mozGetAsFile("foo.png"); ... ซึ่งไม่สามารถใช้ได้กับเบราว์เซอร์ WebKit ทางออกที่ดีที่สุดที่ฉันคิดคือหาวิธีแปลง Data URI เป็นวัตถุไฟล์ซึ่งฉันคิดว่าอาจเป็นส่วนหนึ่งของ File API แต่ฉันไม่สามารถหาสิ่งที่จะทำให้ชีวิตของฉันทำได้ เป็นไปได้ไหม? ถ้าไม่ทางเลือกใด ๆ ขอบคุณ
283 javascript  html  webkit 

11
ค้นหานิยามฟังก์ชัน JavaScript ใน Chrome
เครื่องมือนักพัฒนาซอฟต์แวร์ของ Chrome สั่นคลอน แต่สิ่งหนึ่งที่พวกเขาไม่มี (ที่ฉันหาได้) เป็นวิธีหนึ่งในการค้นหาคำจำกัดความของฟังก์ชัน JavaScript มันจะมีประโยชน์มากสำหรับฉันเพราะฉันกำลังทำงานในไซต์ที่มีไฟล์ JS ภายนอกมากมาย grep แน่นอนแก้ปัญหานี้ แต่ในเบราว์เซอร์จะดีขึ้นมาก ฉันหมายความว่าเบราว์เซอร์ต้องรู้สิ่งนี้ดังนั้นทำไมไม่เปิดเผย สิ่งที่ฉันคาดไว้คือ: เลือก 'ตรวจสอบองค์ประกอบ' จากหน้าซึ่งไฮไลต์บรรทัดในแท็บองค์ประกอบ คลิกขวาที่บรรทัดแล้วเลือก 'ไปที่นิยามฟังก์ชัน' โหลดสคริปต์ที่ถูกต้องในแท็บสคริปต์แล้วข้ามไปยังข้อกำหนดฟังก์ชัน ก่อนอื่นฟังก์ชั่นนี้มีอยู่และฉันเพิ่งทำหายไปเหรอ? และถ้ามันไม่ได้ผมคาดเดานี้จะมาจาก WebKit แต่ไม่พบอะไรสำหรับนักพัฒนาเครื่องมือคำขอคุณลักษณะหรือของ WebKit Bugzilla

9
เหตุใดฉันจึงควรใช้เครื่องหมายอัฒภาคหลังจากทุกฟังก์ชันใน javascript
ฉันเคยเห็นนักพัฒนาที่แตกต่างกันรวมถึงอัฒภาคหลังจากฟังก์ชั่นใน javascript และบางคนไม่ได้ แนวปฏิบัติที่ดีที่สุดคืออะไร function weLikeSemiColons(arg) { // bunch of code }; หรือ function unnecessary(arg) { // bunch of code }
282 javascript  syntax 

4
$ on และ $ ออกอากาศในเชิงมุม
ฉันมีส่วนท้ายส่วนท้ายและโค้ดสแกนเนอร์ตัวควบคุมพร้อมมุมมองที่แตกต่างกัน angular.module('myApp').controller('footerController', ["$scope", function($scope) {}]); angular.module('myApp').controller('codeScannerController', ["$scope", function($scope) { console.log("start"); $scope.startScanner = function(){... เมื่อฉันคลิกที่<li>ใน footer.html ฉันควรได้รับเหตุการณ์นี้ใน codeScannerController <li class="button" ng-click="startScanner()">3</li> ฉันคิดว่ามันสามารถรับรู้ได้ด้วย$onและ$broadcastแต่ฉันไม่รู้วิธีและไม่สามารถหาตัวอย่างได้ทุกที่


8
วิธีคำนวณจำนวนวันระหว่างวันที่สองวัน
ฉันมีวันที่ที่ป้อนสองค่าจากการควบคุมตัวใช้เลือกวันที่ ฉันเลือกวันที่เริ่มต้น 2/2/2012 และวันที่สิ้นสุด 2/7/2012 ฉันได้เขียนรหัสต่อไปนี้เพื่อที่ ฉันควรได้ผลลัพธ์เป็น 6 แต่ได้ 5 function SetDays(invoker) { var start = $find('<%=StartWebDatePicker.ClientID%>').get_value(); var end = $find('<%=EndWebDatePicker.ClientID%>').get_value(); var oneDay=1000 * 60 * 60 * 24; var difference_ms = Math.abs(end.getTime() - start.getTime()) var diffValue = Math.round(difference_ms / oneDay); } ใครสามารถบอกฉันได้ว่าฉันจะได้รับความแตกต่างที่แน่นอน?
282 javascript 

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