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

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

9
jQuery .val เปลี่ยนไม่เปลี่ยนค่าอินพุต
ฉันมีอินพุต HTML พร้อมลิงก์ในค่า <input type = 'text' value = 'http://www.link.com' id = 'link' /> ฉันใช้ jQuery เพื่อเปลี่ยนค่าของเหตุการณ์หนึ่ง ๆ $('#link').val('new value'); โค้ดด้านบนจะเปลี่ยนค่าของกล่องข้อความ แต่ไม่เปลี่ยนค่าในโค้ด (ค่า = 'http://www.link.com' จะไม่เปลี่ยนแปลง) ฉันต้องการค่า = '' เพื่อเปลี่ยนเช่นกัน
104 javascript  jquery 

10
จะขยายคลาสโดยไม่ต้องใช้ super ใน ES6 ได้อย่างไร?
เป็นไปได้ไหมที่จะขยายคลาสใน ES6 โดยไม่เรียกsuperเมธอดเพื่อเรียกใช้คลาสแม่ แก้ไข: คำถามอาจทำให้เข้าใจผิด มันเป็นมาตรฐานที่เราต้องโทรsuper()หรือฉันขาดอะไรไป? ตัวอย่างเช่น: class Character { constructor(){ console.log('invoke character'); } } class Hero extends Character{ constructor(){ super(); // exception thrown here when not called console.log('invoke hero'); } } var hero = new Hero(); เมื่อฉันไม่ได้เรียกsuper()คลาสที่ได้รับมาฉันจะได้รับปัญหาขอบเขต ->this is not defined ฉันใช้สิ่งนี้กับ iojs --harmony ใน v2.3.0

5
ฟังก์ชัน Javascript และพารามิเตอร์เริ่มต้นไม่ทำงานใน IE และ Chrome
ฉันสร้างฟังก์ชันดังนี้: function saveItem(andClose = false) { } ทำงานได้ดีใน Firefox ใน IE จะให้ข้อผิดพลาดนี้บนคอนโซล: Expected ')' ใน Chrome จะให้ข้อผิดพลาดนี้ในคอนโซล: Uncaught SyntaxError: Unexpected token = เบราว์เซอร์ทั้งสองทำเครื่องหมายแหล่งที่มาของข้อผิดพลาดเป็นบรรทัดการสร้างฟังก์ชัน
104 javascript  jquery 

5
localStorage เป็นอย่างไร?
ฉันขึ้นอยู่กับ localStorage อย่างมากสำหรับปลั๊กอินที่ฉันเขียน การตั้งค่าผู้ใช้ทั้งหมดจะถูกเก็บไว้ในนั้น การตั้งค่าบางอย่างต้องการให้ผู้ใช้เขียน regex'es และพวกเขาจะเสียใจหากกฎ regex ของพวกเขาหายไปในบางจุด ตอนนี้ฉันสงสัยว่า localStorage นั้นคงอยู่แค่ไหน จากรายละเอียด : ตัวแทนผู้ใช้ควรหมดอายุข้อมูลจากพื้นที่จัดเก็บภายในเพื่อเหตุผลด้านความปลอดภัยหรือเมื่อผู้ใช้ร้องขอ ข้างต้นดูเหมือนว่ามันจะทำงานเหมือนกับคุกกี้บนไคลเอนต์ กล่าวคือเมื่อผู้ใช้ล้างข้อมูลเบราว์เซอร์ทั้งหมด (ประวัติคุกกี้แคช ฯลฯ ) localStorage จะถูกตัดทอนด้วย สมมติฐานนี้ถูกต้องหรือไม่?

22
สร้างอาร์เรย์ด้วยค่าสุ่ม
ฉันจะสร้างอาร์เรย์ที่มี 40 องค์ประกอบโดยมีค่าสุ่มตั้งแต่ 0 ถึง 39 ได้อย่างไร ชอบ [4, 23, 7, 39, 19, 0, 9, 14, ...] ฉันลองใช้วิธีแก้ปัญหาจากที่นี่: http://freewebdesigntutorials.com/javaScriptTutorials/jsArrayObject/randomizeArrayElements.htm แต่อาร์เรย์ที่ฉันได้รับเป็นแบบสุ่มน้อยมาก มันสร้างบล็อกจำนวนมากต่อเนื่อง ...

7
ฟังก์ชัน Javascript Object push ()
ฉันมีวัตถุจาวาสคริปต์ (ฉันได้รับข้อมูลผ่านการร้องขอ ajax): var data = {}; ฉันได้เพิ่มบางสิ่งเข้าไป: data[0] = { "ID": "1"; "Status": "Valid" } data[1] = { "ID": "2"; "Status": "Invalid" } ตอนนี้ฉันต้องการลบวัตถุทั้งหมดที่มีสถานะไม่ถูกต้อง (แต่ให้ทุกอย่างเรียงลำดับเหมือนกัน): var tempData = {}; for ( var index in data ) { if ( data[index].Status == "Valid" ) { tempData.push( data ); } } …
104 javascript  json 

10
ReactJS: setTimeout () ไม่ทำงาน?
มีรหัสนี้อยู่ในใจ: var Component = React.createClass({ getInitialState: function () { return {position: 0}; }, componentDidMount: function () { setTimeout(this.setState({position: 1}), 3000); }, render: function () { return ( <div className="component"> {this.state.position} </div> ); } }); ReactDOM.render( <Component />, document.getElementById('main') ); สถานะไม่ควรเปลี่ยนหลังจาก 3 วินาทีเท่านั้นหรือ? มันเปลี่ยนทันที เป้าหมายหลักของฉันที่นี่คือการเปลี่ยนสถานะทุกๆ 3 วินาที (ด้วยsetInterval()) แต่เนื่องจากมันไม่ทำงานฉันจึงพยายามsetTimeout()ซึ่งก็ไม่ได้ผลเช่นกัน มีไฟอะไรไหม ขอบคุณ!

13
จำนวนบวกเป็นจำนวนลบใน JavaScript?
โดยทั่วไปการกลับกันของ abs ถ้าฉันมี: if ($this.find('.pdxslide-activeSlide').index() < slideNum - 1) { slideNum = -slideNum } console.log(slideNum) ไม่ว่าคอนโซลใดจะส่งคืนจำนวนบวกเสมอ ฉันจะแก้ไขปัญหานี้ได้อย่างไร ถ้าฉันทำ: if ($this.find('.pdxslide-activeSlide').index() < slideNum - 1) { _selector.animate({ left: (-slideNum * sizes.images.width) + 'px' }, 750, 'InOutPDX') } else { _selector.animate({ left: (slideNum * sizes.images.width) + 'px' }, 750, 'InOutPDX') } มันใช้งานได้ …
104 javascript  jquery  math 


2
ตัวแปรส่วนกลางใน Javascript และ ESLint
ฉันมีไฟล์จาวาสคริปต์หลายไฟล์และฉันได้กำหนดตัวแปรส่วนกลางในไฟล์ที่โหลดก่อนไฟล์อื่น ๆ เป็นผลให้ไฟล์ทั้งหมดที่โหลดหลังจากครั้งแรกสามารถเข้าถึงตัวแปรส่วนกลางได้ อย่างไรก็ตาม ESLint แสดงตัวแปรส่วนกลางเป็น "ไม่ได้กำหนด" ฉันไม่ต้องการเปลี่ยนกฎของ ESLint และฉันต้องการหาวิธีที่สวยงามในการกำจัดข้อความแสดงข้อผิดพลาดเหล่านี้ เบาะแสใด ๆ ? ขอบคุณ

3
ความแตกต่างระหว่าง const และ const {} ในจาวาสคริปต์คืออะไร
เมื่อฉันศึกษาอิเล็กตรอนฉันพบ 2 วิธีในการรับวัตถุ BrowserWindow const {BrowserWindow} = require('electron') และ const electron = require('electron') const BrowserWindow = electron.BrowserWindow อะไรคือความแตกต่างระหว่างconstและconst {}ใน JavaScript? ฉันไม่เข้าใจว่าทำไมถึงใช้const {}งานได้ ฉันพลาดอะไรที่สำคัญเกี่ยวกับ JS หรือไม่?

6
TypeError: console.log (…) ไม่ใช่ฟังก์ชัน
ฉันสับสนจริงๆว่าฉันจะรับ console.log ได้อย่างไรไม่ใช่ฟังก์ชันในบรรทัด 1091 หากฉันลบการปิดด้านล่างบรรทัด 1091 จะไม่บ่นข้อผิดพลาดดังกล่าว Chrome เวอร์ชัน 43.0.2357.130 (64 บิต) นี่คือรหัส: $scope.columnNameChanged = function (tableColumn) { setDirtyColumn(tableColumn); //propagate changes to the key fields for (var i = 0; i < $scope.tableIndexes.length; ++i) { for (var j = 0; j < $scope.tableIndexes[i].columnName.length; ++j) { if ($scope.tableIndexes[i].columnName[j] === tableColumn.previousName) { …
104 javascript 

8
ตัวตรวจสอบที่คาดไว้จะส่งคืน Promise หรือ Observable
ฉันกำลังพยายามทำการตรวจสอบความถูกต้องแบบกำหนดเองใน Angular 5 แต่ฉันพบข้อผิดพลาดต่อไปนี้ Expected validator to return Promise or Observable ฉันแค่ต้องการส่งคืนข้อผิดพลาดไปยังแบบฟอร์มหากค่าไม่ตรงกับที่ต้องการนี่คือรหัสของฉัน: นี่คือส่วนประกอบที่เป็นแบบฟอร์มของฉัน constructor(fb: FormBuilder, private cadastroService:CadastroService) { this.signUp = fb.group({ "name": ["", Validators.compose([Validators.required, Validators.minLength(2)])], "email": ["", Validators.compose([Validators.required, Validators.email])], "phone": ["", Validators.compose([Validators.required, Validators.minLength(5)])], "cpf": ["", Validators.required, ValidateCpf] }) } รหัสนี้อยู่ในไฟล์ที่มีการตรวจสอบความถูกต้องที่ฉันต้องการใช้: import { AbstractControl } from '@angular/forms'; export function ValidateCpf(control: AbstractControl){ …

9
เป็นไปได้หรือไม่ที่จะได้รับชื่อคุณสมบัติที่สืบทอดมาซึ่งไม่สามารถระบุได้ของวัตถุ?
ใน JavaScript เรามีสองสามวิธีในการรับคุณสมบัติของวัตถุขึ้นอยู่กับสิ่งที่เราต้องการได้รับ 1) Object.keys()ซึ่งส่งคืนคุณสมบัติที่นับได้ของอ็อบเจ็กต์ทั้งหมดเป็นของตัวเองวิธี ECMA5 2) for...inลูปซึ่งส่งคืนคุณสมบัติที่นับได้ทั้งหมดของอ็อบเจกต์ไม่ว่าจะเป็นคุณสมบัติของตัวเองหรือสืบทอดมาจากโซ่ต้นแบบ 3) Object.getOwnPropertyNames(obj)ซึ่งส่งคืนคุณสมบัติของตัวเองทั้งหมดของวัตถุแจกแจงได้หรือไม่ นอกจากนี้เรายังมีวิธีการเช่นhasOwnProperty(prop)ให้เราตรวจสอบว่าทรัพย์สินนั้นสืบทอดมาหรือเป็นของวัตถุนั้นจริงหรือไม่และpropertyIsEnumerable(prop)ตามที่ชื่อแนะนำช่วยให้เราตรวจสอบว่ามีการแจกแจงคุณสมบัติหรือไม่ ด้วยตัวเลือกทั้งหมดนี้ไม่มีทางที่จะได้รับคุณสมบัติที่ไม่สามารถระบุได้และไม่ใช่ของตัวเองซึ่งเป็นสิ่งที่ฉันต้องการทำ มีวิธีใดบ้างที่จะทำเช่นนี้? กล่าวอีกนัยหนึ่งฉันจะได้รับรายการคุณสมบัติที่ไม่สามารถนับได้ที่สืบทอดมาได้หรือไม่? ขอขอบคุณ.

5
การแยกวิเคราะห์ JSON จาก XmlHttpRequest.responseJSON
ฉันพยายามแยกวิเคราะห์การตอบสนอง JSON เล็กน้อยในจาวาสคริปต์ ฉันได้รับ JSON ผ่าน XmlHttpRequest var req = new XMLHttpRequest; req.overrideMimeType("application/json"); req.open('GET', BITLY_CREATE_API + encodeURIComponent(url) + BITLY_API_LOGIN, true); var target = this; req.onload = function() {target.parseJSON(req, url)}; req.send(null); parseJSON: function(req, url) { if (req.status == 200) { var jsonResponse = req.responseJSON; var bitlyUrl = jsonResponse.results[url].shortUrl; } ฉันทำสิ่งนี้ในส่วนเสริม firefox …

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