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

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

4
ความแตกต่างระหว่าง String (value) กับ value.toString () คืออะไร
Javascript มี "เทคนิค" มากมายเกี่ยวกับประเภทและประเภทการแปลงดังนั้นฉันจึงสงสัยว่า 2 วิธีนี้เหมือนกันหรือมีบางกรณีที่ทำให้แตกต่างกันหรือไม่?
108 javascript 

6
ไม่อนุญาตให้ใช้ JSX ในไฟล์ที่มีนามสกุล ".js" กับ eslint-config-airbnb
ฉันได้ติดตั้งeslint-config-airbnbที่ควรกำหนดค่าล่วงหน้า ESLINT สำหรับ React: การส่งออกเริ่มต้นของเราประกอบด้วยกฎ ESLint ทั้งหมดของเรารวมถึง ECMAScript 6+ และ React ต้องใช้ eslint, eslint-plugin-import, eslint-plugin-react และ eslint-plugin-jsx-a11y การ.eslintrcขยายการกำหนดค่าของฉัน: { "extends": "eslint-config-airbnb", "env": { "browser": true, "node": true, "mocha": true }, "rules": { "new-cap": [2, { "capIsNewExceptions": ["List", "Map", "Set"] }], "react/no-multi-comp": 0, "import/default": 0, "import/no-duplicates": 0, "import/named": 0, "import/namespace": 0, …


4
ลบช่องว่างภายในสตริงในจาวาสคริปต์
ฉันได้อ่านคำถามนี้เกี่ยวกับการตัดแต่งจาวาสคริปต์พร้อมคำตอบ regex จากนั้นฉันคาดว่าการตัดแต่งจะลบช่องว่างด้านในระหว่าง Hello และ World function myFunction() { alert("Hello World ".trim()); } แก้ไข ทำไมฉันถึงคาดหวังแบบนั้น!? ไร้สาระ! เห็นได้ชัดว่าการตัดแต่งไม่ได้ลบช่องว่างด้านใน! เฉพาะส่วนที่นำหน้าและต่อท้ายนั่นคือวิธีการตัดแต่งนี่เป็นคำถามที่ผิดมากขอโทษของฉัน
108 javascript  html  trim 

6
วิธีการวนซ้ำอย่างถูกต้องผ่าน getElementsByClassName
ฉันเป็นมือใหม่ Javascript ฉันกำลังเข้าสู่หน้าเว็บผ่านทางwindow.onloadฉันต้องหาองค์ประกอบจำนวนมากตามชื่อคลาส ( slide) และแจกจ่ายใหม่เป็นโหนดต่างๆตามตรรกะบางอย่าง ฉันมีฟังก์ชันDistribute(element)ที่รับองค์ประกอบเป็นอินพุตและทำการกระจาย ฉันต้องการทำสิ่งนี้ (ตามที่อธิบายไว้ที่นี่หรือที่นี่ ): var slides = getElementsByClassName("slide"); for(var i = 0; i < slides.length; i++) { Distribute(slides[i]); } อย่างไรก็ตามสิ่งนี้ไม่ได้ทำเวทมนตร์ให้ฉันเพราะgetElementsByClassNameไม่ได้ส่งคืนอาร์เรย์ แต่ a NodeListซึ่งก็คือ ... ... นี่คือการคาดเดาของฉัน ... ... กำลังเปลี่ยนแปลงภายในฟังก์ชันDistribute(ทรี DOM กำลังถูกเปลี่ยนแปลงภายในฟังก์ชันนี้และการโคลนโหนดบางโหนดจะเกิดขึ้น) For-eachโครงสร้างลูปก็ไม่ช่วยเช่นกัน การกระทำของสไลด์ตัวแปรนั้นไม่สามารถกำหนดได้จริง ๆ ทุกครั้งที่การทำซ้ำจะเปลี่ยนความยาวและลำดับขององค์ประกอบอย่างรุนแรง วิธีที่ถูกต้องในการวนซ้ำผ่าน NodeList ในกรณีของฉันคืออะไร? ฉันกำลังคิดเกี่ยวกับการเติมอาร์เรย์ชั่วคราว แต่ไม่แน่ใจว่าจะทำอย่างไร ... แก้ไข: ความจริงที่สำคัญฉันลืมที่จะพูดถึงก็คือว่ามีอาจจะเป็นหนึ่งสไลด์ภายในอื่นนี้เป็นจริงสิ่งที่เปลี่ยนแปลงslidesตัวแปรที่ผมได้พบเพียงแค่ออกขอบคุณให้กับผู้ใช้Alohci วิธีแก้ปัญหาสำหรับฉันคือการโคลนแต่ละองค์ประกอบลงในอาร์เรย์ก่อนและส่งอาร์เรย์ทีละรายการไปในDistribute()ภายหลัง
108 javascript  html  dom 

14
ไม่สามารถเปิดไฟล์ในเครื่อง - Chrome: ไม่อนุญาตให้โหลดทรัพยากรในเครื่อง
ทดสอบเบราว์เซอร์: เวอร์ชันของ Chrome: 52.0.2743.116 มันเป็นจาวาสคริปต์ง่ายๆที่จะเปิดไฟล์รูปภาพจากโลคัลเช่น 'C: \ 002.jpg' function run(){ var URL = "file:///C:\002.jpg"; window.open(URL, null); } run(); นี่คือโค้ดตัวอย่างของฉัน https://fiddle.jshell.net/q326vLya/3/ โปรดให้คำแนะนำที่เหมาะสมกับฉัน

12
จะตรวจสอบด้วย javascript ได้อย่างไรว่าการเชื่อมต่อเป็นโลคัลโฮสต์หรือไม่?
ฉันต้องการตรวจสอบจาวาสคริปต์ของฉันหากการโหลดหน้าเว็บอยู่ในเครื่องของฉัน เหตุผลที่ฉันต้องการทำเช่นนั้นคือเมื่อฉันพัฒนาฉันต้องการตรวจสอบให้แน่ใจว่าการตรวจสอบความถูกต้องทั้งฝั่งเซิร์ฟเวอร์ (C #) ของฉันทำงานได้อย่างถูกต้อง ดังนั้นฉันต้องการดูข้อผิดพลาดทั้งฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์เพื่อแสดง ดังนั้นในขณะที่ฉันกำลังทดสอบฉันมีแฟล็กใน jquery ของฉันตรวจสอบสิ่งต่างๆที่ปล่อยให้ข้อมูลที่ไม่ถูกต้องผ่านไปได้เสมอ ด้วยวิธีนี้ฉันจะเห็นข้อผิดพลาดฝั่งไคลเอ็นต์และเซิร์ฟเวอร์ในคราวเดียว อย่างไรก็ตามตอนนี้ฉันต้องเปลี่ยนไปมาด้วยตนเองเมื่อเปลี่ยนจากการพัฒนาไปสู่การผลิต

5
ประกาศอาร์เรย์ใน TypeScript
ฉันมีปัญหาในการประกาศหรือใช้อาร์เรย์บูลีนใน typescript ไม่แน่ใจว่าข้อใดผิด ฉันได้รับundefinedข้อผิดพลาด ฉันควรจะใช้ไวยากรณ์ JavaScript หรือประกาศ Array object ใหม่หรือไม่? ข้อใดเป็นวิธีสร้างอาร์เรย์ที่ถูกต้อง private columns = boolean[]; private columns = []; private columns = new Array<boolean>(); ฉันจะเริ่มต้นค่าทั้งหมดให้เป็นเท็จได้อย่างไร ฉันจะเข้าถึงค่าได้อย่างไรฉันจะเข้าถึงค่าได้columns[i] = true;อย่างไร .. ?

4
การอัปโหลดรูปภาพที่เข้ารหัส base64 ไปยัง Amazon S3 ผ่าน Node.js
เมื่อวานนี้ฉันทำเซสชันการเข้ารหัสในเวลากลางคืนและสร้าง node.js / JS ขนาดเล็ก (จริงๆแล้ว CoffeeScript แต่ CoffeeScript เป็นเพียง JavaScript ดังนั้นสมมติว่า JS) เป้าหมายคืออะไร: ไคลเอนต์ส่ง canvas datauri (png) ไปยังเซิร์ฟเวอร์ (ผ่าน socket.io) เซิร์ฟเวอร์อัปโหลดภาพไปยัง amazon s3 ขั้นตอนที่ 1 เสร็จสิ้น ตอนนี้เซิร์ฟเวอร์มีสตริง a la data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACt... คำถามของฉันคือขั้นตอนต่อไปในการ "สตรีม" / อัปโหลดข้อมูลนี้ไปยัง Amazon S3 และสร้างภาพจริงที่นั่นคืออะไร knox https://github.com/LearnBoost/knoxดูเหมือนว่า lib ที่ยอดเยี่ยมในการใส่บางสิ่งลงใน S3 แต่สิ่งที่ฉันขาดหายไปคือกาวระหว่าง base64-encoded-image-string และการอัปโหลดจริงหรือไม่ ยินดีรับความคิดเห็นคำแนะนำและข้อเสนอแนะ

23
คุณสมบัติการจัดเรียงวัตถุและ JSON.stringify
แอปพลิเคชันของฉันมีอาร์เรย์ของอ็อบเจ็กต์จำนวนมากซึ่งฉันทำให้สตริงและบันทึกลงในดิสก์ น่าเสียดายที่เมื่อวัตถุในอาร์เรย์ถูกจัดการและบางครั้งถูกแทนที่คุณสมบัติของวัตถุจะแสดงรายการในลำดับที่แตกต่างกัน (ลำดับการสร้าง?) เมื่อฉันทำ JSON.stringify () บนอาร์เรย์และบันทึกความแตกต่างจะแสดงคุณสมบัติที่แสดงรายการในคำสั่งซื้อที่แตกต่างกันซึ่งน่ารำคาญเมื่อพยายามผสานข้อมูลเพิ่มเติมด้วยเครื่องมือต่างและการรวม ตามหลักการแล้วฉันต้องการจัดเรียงคุณสมบัติของวัตถุตามลำดับตัวอักษรก่อนที่จะดำเนินการ stringify หรือเป็นส่วนหนึ่งของการดำเนินการ stringify มีรหัสสำหรับจัดการวัตถุอาร์เรย์ในหลาย ๆ ที่และการแก้ไขสิ่งเหล่านี้เพื่อสร้างคุณสมบัติตามลำดับที่ชัดเจนอาจเป็นเรื่องยาก ข้อเสนอแนะจะยินดีมากที่สุด! ตัวอย่างย่อ: obj = {}; obj.name="X"; obj.os="linux"; JSON.stringify(obj); obj = {}; obj.os="linux"; obj.name="X"; JSON.stringify(obj); ผลลัพธ์ของการเรียก stringify ทั้งสองนี้แตกต่างกันและแสดงในข้อมูลที่แตกต่างกัน แต่แอปพลิเคชันของฉันไม่สนใจลำดับของคุณสมบัติ วัตถุถูกสร้างขึ้นในหลายวิธีและหลายสถานที่
108 javascript  json 

5
ลบองค์ประกอบแรกออกจากอาร์เรย์และส่งคืนอาร์เรย์ลบองค์ประกอบแรก
var myarray = ["item 1", "item 2", "item 3", "item 4"]; //removes the first element of the array, and returns that element. alert(myarray.shift()); //alerts "item 1" //removes the last element of the array, and returns that element. alert(myarray.pop()); //alerts "item 4" เรียกใช้ข้อมูลโค้ดHide resultsขยายข้อมูลโค้ด วิธีลบอาร์เรย์แรก แต่ส่งคืนอาร์เรย์ลบองค์ประกอบแรก ในตัวอย่างของฉันฉันควรจะได้รับ"item 2", "item 3", "item …

5
Vue.js ได้รับตัวเลือกที่เลือกใน @change
ก่อนอื่นฉันอยากจะบอกว่าฉันยังใหม่กับ Vue และนี่เป็นโครงการแรกของฉันที่เคยใช้ Vue ฉันมีคอมโบบ็อกซ์และฉันต้องการทำอะไรบางอย่างที่แตกต่างจากคอมโบบ็อกซ์ที่เลือก ฉันใช้ไฟล์ vue.html และ typescript แยกกัน นี่คือรหัสของฉัน <select name="LeaveType" @change="onChange()" class="form-control"> <option value="1">Annual Leave/ Off-Day</option> <option value="2">On Demand Leave</option> </select> และนี่คือไฟล์ ts ของฉัน onChange(value) { console.log(value); } วิธีรับค่าตัวเลือกที่เลือกในฟังก์ชัน typescript ของฉัน ขอบคุณ.


9
AngularJS HTTP โพสต์ไปยัง PHP และไม่ได้กำหนด
ฉันมีแบบฟอร์มพร้อมแท็ก ng-submit="login() ฟังก์ชันนี้เรียกได้ว่าดีในจาวาสคริปต์ function LoginForm($scope, $http) { $http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; $scope.email = "fsdg@sdf.com"; $scope.password = "1234"; $scope.login = function() { data = { 'email' : $scope.email, 'password' : $scope.password }; $http.post('resources/curl.php', data) .success(function(data, status, headers, config) { console.log(status + ' - ' + data); }) .error(function(data, status, headers, config) …

9
ฉันจะใช้ form.serialize ของ jQuery ได้อย่างไร แต่ไม่รวมช่องว่าง
ฉันมีแบบฟอร์มการค้นหาที่มีการป้อนข้อความและรายการแบบเลื่อนลงจำนวนหนึ่งที่ส่งผ่าน GET ฉันต้องการมี URL การค้นหาที่สะอาดกว่าโดยการลบช่องว่างออกจากสตริงคำค้นหาเมื่อทำการค้นหา var form = $("form"); var serializedFormStr = form.serialize(); // I'd like to remove inputs where value is '' or '.' here window.location.href = '/search?' + serializedFormStr มีความคิดอย่างไรที่ฉันจะทำสิ่งนี้โดยใช้ jQuery?

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