728x90
반응형

JavaScript 302

Firebug 또는 유사한 도구를 사용하여 JavaScript / jQuery 이벤트 바인딩을 디버깅하는 방법

질문 : Firebug 또는 유사한 도구를 사용하여 JavaScript / jQuery 이벤트 바인딩을 디버깅하는 방법은 무엇입니까? 상당히 복잡하고 복잡한 DOM 조작을 수행하기 위해 jQuery를 사용하는 웹 애플리케이션을 디버깅해야합니다. 어느 시점에서 특정 요소에 바인딩 된 일부 이벤트가 실행되지 않고 단순히 작동을 중지합니다. 응용 프로그램 소스를 편집 할 수있는 기능이 있다면 Firebug console.log() 문을 드릴 다운하고 추가하고 문제를 정확히 찾아 내기 위해 코드를 주석 / 주석 해제합니다. 그러나 애플리케이션 코드를 편집 할 수없고 Firebug 또는 유사한 도구를 사용하여 Firefox에서 완전히 작업해야한다고 가정 해 보겠습니다. Firebug는 내가 DOM을 탐색하고 조작..

Chrome의 코드에서 JavaScript 중단점을 설정하는 방법

질문 : Chrome의 코드에서 JavaScript 중단 점을 설정하는 방법은 무엇입니까? Chrome 디버거가 code를 통해 줄을 끊도록 강제 console.break() 와 같은 일종의 주석 태그를 사용하고 싶습니다. 답변 debugger; 를 사용할 수 있습니다. 코드 내에서. 개발자 콘솔이 열려 있으면 실행이 중단됩니다. firebug에서도 작동합니다. 출처 : https://stackoverflow.com/questions/10050465/how-to-set-a-javascript-breakpoint-from-code-in-chrome

JavaScript는 래퍼런스에 의한 전달일까? 값에 의한 전달일까?

질문 : JavaScript는 참조에 의한 전달 또는 값에 의한 전달 언어입니까? 기본 유형 (숫자, 문자열 등)은 값으로 전달되지만 객체는 모두 값으로 전달 될 수 있기 때문에 알 수 없습니다 (객체를 보유하는 변수가 실제로 객체에 대한 참조라고 생각하는 경우) ) 및 참조에 의해 전달 (객체에 대한 변수가 객체 자체를 보유한다고 생각할 때). 마지막에는 실제로 중요하지 않지만 규칙을 전달하는 인수를 제시하는 올바른 방법이 무엇인지 알고 싶습니다. 이것에 관한 의미론을 정의하는 JavaScript 사양에서 발췌 한 내용이 있습니까? 답변 JavaScript에서 흥미 롭습니다. 이 예를 고려하십시오. function changeStuff(a, b, c) { a = a * 10; b.item = "chan..

Lodash와 Underscore.js의 차이점

질문 : Lodash와 Underscore.js의 차이점 [닫힌] 누군가 Lodash 또는 Underscore.js 유틸리티 라이브러리를 선호하는 이유는 무엇입니까? Lodash는 밑줄을 대체하는 것으로 보이며 후자는 더 오래되었습니다. 나는 둘 다 훌륭하다고 생각하지만 그들이 교육적인 비교를 위해 어떻게 작동하는지에 대해 충분히 알지 못하며 차이점에 대해 더 알고 싶습니다. 답변 arguments 개체 1에 대해보다 일관된 교차 환경 반복 지원을 제공하기 위해 Lodash를 만들었습니다. 이후 Underscore.js의 상위 세트가되어보다 일관된 API 동작, 더 많은 기능 (AMD 지원, 딥 클론, 딥 머지 등), 더 철저한 문서 및 단위 테스트 (Node.js , RingoJS , Rhino 에서 ..

JavaScript에서 배열을 통해 반복하는 여러 방법

질문 : JavaScript에서 배열을 통해 루프 for 루프를 사용하여 다음과 같이 배열의 객체를 순회 할 수 있습니다. String[] myStringArray = {"Hello", "World"}; for (String s : myStringArray) { // Do something } JavaScript에서도 똑같이 할 수 있습니까? 답변 세 가지 주요 옵션 : for (var i = 0; i console.log(x)); for (const x of xs) { console.log(x); } 자세한 예는 다음과 같습니다. 1. 순차적 for 반복문: var myStringArray ..

jQuery / JavaScript 이미지 오류 발생시 대체 이미지를 사용하는 방법

질문 : 깨진 이미지를 대체하는 jQuery / JavaScript 여러 이미지가 포함 된 웹 페이지가 있습니다. 때때로 이미지를 사용할 수 없어 클라이언트의 브라우저에 깨진 이미지가 표시됩니다. jQuery를 사용하여 이미지 세트를 가져오고 깨진 이미지로 필터링 한 다음 src를 대체하려면 어떻게해야합니까? -jQuery로이 작업을 수행하는 것이 더 쉬울 것이라고 생각했지만 순수한 JavaScript 솔루션, 즉 Prestaul에서 제공하는 솔루션을 사용하는 것이 훨씬 쉬워졌습니다. 답변 이미지의 onError 이벤트를 처리하여 자바 스크립트를 사용하여 소스를 다시 할당합니다. function imgError(image) { image.onerror = ""; image.src = "/images/no..

새 배열을 만들지 않고 기존 JavaScript 배열을 다른 배열로 확장하는 방법

질문 : 새 배열을 만들지 않고 기존 JavaScript 배열을 다른 배열로 확장하는 방법 기존 자바 스크립트 배열을 다른 배열로 확장하는 방법, 즉 Python의 extend 메소드를 에뮬레이션하는 방법이없는 것 같습니다. 다음을 달성하고 싶습니다. >>> a = [1, 2] [1, 2] >>> b = [3, 4, 5] [3, 4, 5] >>> SOMETHING HERE >>> a [1, 2, 3, 4, 5] a.concat(b) 메서드가 있다는 것을 알고 있지만 단순히 첫 번째 배열을 확장하는 대신 새 배열을 만듭니다. 내가하면 효율적으로 작동하는 알고리즘 싶습니다 a 보다 훨씬 큰 b (즉, 하나를 복사하지 않는 a ). 참고 : 이것은 배열에 무언가를 추가하는 방법 의 중복이 아닙니다. -여기서 ..

JavaScript 콘솔에 jQuery를 포함하는 방법

질문 : JavaScript 콘솔에 jQuery 포함 jQuery를 사용하지 않는 사이트를 위해 Chrome JavaScript 콘솔에 jQuery를 포함하는 쉬운 방법이 있습니까? 예를 들어, 웹 사이트에서 테이블의 행 수를 얻고 싶습니다. 나는 이것이 jQuery로 정말 쉽다는 것을 안다. $('element').length; 이 사이트는 jQuery를 사용하지 않습니다. 명령 줄에서 추가 할 수 있습니까? 답변 브라우저의 JavaScript 콘솔에서 실행하면 jQuery를 사용할 수 있습니다. var jq = document.createElement('script'); jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.j..

자바 스크립트에서 난수 생성기 시드

질문 : 자바 스크립트에서 난수 생성기 시드 JavaScript에서 Math.random )를 시드 할 수 있습니까? 답변 Math.random() 을 시드 할 수는 없지만 자체 생성기를 작성하는 것은 상당히 쉬우 며 기존 생성기를 사용하는 것이 좋습니다. 확인 : 이 관련 질문 . 또한 시드에 대한 자세한 내용은 David Bau의 블로그를 참조하십시오. 출처 : https://stackoverflow.com/questions/521295/seeding-the-random-number-generator-in-javascript

JavaScript 변수명에 $를 붙이는 이유

질문 : JavaScript 변수가 달러 기호로 시작하는 이유는 무엇입니까? 달러 기호로 시작하는 변수가있는 JavaScript를 자주 봅니다. 이런 식으로 변수 접두사를 언제 / 왜 선택합니까? (나는 jQuery 및 기타에서 볼 수있는 $('p.foo') 구문에 대해 묻는 $name 및 $order 와 같은 일반 변수) 답변 jQuery 에서 매우 일반적인 사용은 변수에 저장된 jQuery 객체를 다른 변수와 구별하는 것입니다. 예를 들어 다음과 같이 정의합니다. var $email = $("#email"); // refers to the jQuery object representation of the dom object var email_field = $("#email").get(0); // ref..

null이 객체 인 이유는 무엇이며 null과 undefined의 차이점

질문 : null이 객체 인 이유는 무엇이며 null과 undefined의 차이점은 무엇입니까? JavaScript에서 null object 로 간주되는 이유는 무엇입니까? 확인 중 if ( object == null ) Do something 같은 if ( !object ) Do something ? 그리고 또한: null 과 undefined 의 차이점은 무엇입니까? 답변 (name is undefined) 당신 : name 무엇입니까? (*) 자바 스크립트 : name ? name 뭐야? 당신이 무슨 말을하는지 모르겠습니다. 당신은 전에 name 도 언급 한 적이 없습니다. (클라이언트) 측에 다른 스크립팅 언어가 있습니까? name = null; 당신 : name 무엇입니까? 자바 스크립트 : 모..

JavaScript 객체에서 키를 제거하는 방법

질문 : JavaScript 객체에서 키를 제거하려면 어떻게합니까? 다음 형식의 객체가 있다고 가정 해 보겠습니다. var thisIsObject= { 'Cow' : 'Moo', 'Cat' : 'Meow', 'Dog' : 'Bark' }; 키로 제거하는 기능을하고 싶었습니다. removeFromObjectByKey('Cow'); 답변 delete 연산자를 사용하면 객체에서 속성을 제거 할 수 있습니다. 다음 예제는 모두 동일한 작업을 수행합니다. // Example 1 var key = "Cow"; delete thisIsObject[key]; // Example 2 delete thisIsObject["Cow"]; // Example 3 delete thisIsObject.Cow; 관심이 있으시면 삭제..

다른 JavaScript 파일에 JavaScript 파일 포함하는 방법

질문 : 다른 JavaScript 파일에 JavaScript 파일을 어떻게 포함합니까? 다른 JavaScript 파일에 JavaScript 파일을 포함 할 수있는 CSS의 @import 와 유사한 JavaScript가 있습니까? 답변 이전 버전의 JavaScript에는 가져 오기, 포함 또는 필요가 없었기 때문에이 문제에 대한 다양한 접근 방식이 개발되었습니다. 그러나 2015 년 (ES6) 이후 JavaScript는 Node.js에서 모듈을 가져 오기 위한 ES6 모듈 표준을 가지고 있으며 대부분의 최신 브라우저 에서도 지원됩니다. 이전 브라우저와의 호환성을 위해 Webpack 및 Rollup 과 같은 빌드 도구 및 / 또는 Babel 과 같은 변환 도구를 사용할 수 있습니다. ES6 Modules E..

JavaScript에서 Switch 문 여러 case 한번에 사용하는 방법

질문 : JavaScript에서 Switch 문 여러 사례 JavaScript의 switch 문에 여러 사례가 필요합니다. switch (varName) { case "afshin", "saeed", "larry": alert('Hey'); break; default: alert('Default case'); break; } 어떻게 할 수 있습니까? JavaScript에서 이와 같은 작업을 수행 할 방법이 없다면 DRY 개념을 따르는 대체 솔루션을 알고 싶습니다. 답변 switch 문의 폴 스루 기능을 사용하십시오. 일치하는 케이스는 break (또는 switch 문의 끝)가 발견 될 때까지 실행되므로 다음과 같이 작성할 수 있습니다. switch (varName) { case "afshin": case..

JavaScript에서 setInterval 호출 중지 하는 방법

질문 : JavaScript에서 setInterval 호출 중지 나는 setInterval(fname, 10000); JavaScript에서 10 초마다 함수를 호출합니다. 일부 이벤트에서 호출을 중지 할 수 있습니까? 사용자가 반복되는 데이터 새로 고침을 중지 할 수 있기를 바랍니다. 답변 setInterval() clearInterval() 전달할 수있는 간격 ID를 반환합니다. var refreshIntervalId = setInterval(fname, 10000); /* later */ clearInterval(refreshIntervalId); setInterval() 및 clearInterval() 대한 문서를 참조하십시오. 출처 : https://stackoverflow.com/questio..

JavaScript에서 'prototype'과 'this'의 차이

질문 : JavaScript에서 'prototype'과 'this'의 사용? 차이점은 무엇입니까 var A = function () { this.x = function () { //do something }; }; 과 var A = function () { }; A.prototype.x = function () { //do something }; 답변 예제는 결과가 매우 다릅니다. 차이점을 살펴보기 전에 다음 사항에 유의해야합니다. 생성자의 프로토 타입 [[Prototype]] 속성을 통해 인스턴스간에 메서드와 값을 공유하는 방법을 제공합니다. 함수의 이것은 함수가 호출되는 방법 또는 bind를 사용하여 설정됩니다 (여기서는 설명하지 않음). 기능 (예를 들어 개체에서 호출되는 경우 myObj.metho..

값이 JavaScript의 객체인지 확인하는 방법

질문 : 값이 JavaScript의 객체인지 확인 JavaScript에서 값이 객체인지 어떻게 확인합니까? 답변 업데이트 : 이 답변은 불완전하며 잘못된 결과를 제공합니다 . 예를 들어, null 은 JavaScript의 유형 object 로 간주되며 다른 몇 가지 경우는 말할 것도 없습니다. 아래의 권장 사항을 따르고 다른 "가장 찬성 (그리고 정답)"답변으로 이동하십시오 . typeof yourVariable === 'object' && yourVariable !== null 원래 답변 : typeof(var) 및 / 또는 var instanceof something 사용해보십시오. 편집 :이 답변은 변수의 속성을 검사하는 방법에 대한 아이디어를 제공하지만 그것이 객체인지 여부를 확인하기위한 방탄 레..

HTML 버튼 또는 JavaScript를 클릭 할 때 파일 다운로드를 트리거하는 방법

질문 : HTML 버튼 또는 JavaScript를 클릭 할 때 파일 다운로드를 트리거하는 방법 이건 미친 짓이지만 어떻게해야할지 모르겠고, 단어가 얼마나 흔한 지 때문에 검색 엔진에서 필요한 것을 찾기가 어렵습니다. 대답하기 쉬운 질문이라고 생각합니다. 다음과 같은 간단한 파일 다운로드를 원합니다. Download! 하지만 다음 중 하나와 같은 HTML 버튼을 사용하고 싶습니다. Download! 마찬가지로 JavaScript를 통해 간단한 다운로드를 트리거 할 수 있습니까? $("#fileRequest").click(function(){ /* code to download? */ }); 버튼처럼 보이는 앵커를 만들거나 백엔드 스크립트를 사용하거나 서버 헤더 또는 MIME 유형을 엉망으로 만드는 방법을 ..

JavaScript에서 문자열의 첫 글자를 대문자로 만드는 방법

질문 : JavaScript에서 문자열의 첫 글자를 대문자로 만들려면 어떻게합니까? 문자열의 첫 글자를 대문자로 만들고 다른 글자의 대소 문자를 변경하지 않으려면 어떻게합니까? 예를 들면 : "this is a test" → "This is a test" "the Eiffel Tower" → "The Eiffel Tower" "/index.html" "/index.html" 답변 기본 솔루션은 다음과 같습니다. function capitalizeFirstLetter(string) { return string.charAt(0).toUpperCase() + string.slice(1); } console.log(capitalizeFirstLetter('foo')); // Foo 일부 다른 답변은 String..

JavaScript를 사용하여 페이지 맨 위로 스크롤 하는 방법

질문 : JavaScript를 사용하여 페이지 맨 위로 스크롤 하시겠습니까? JavaScript를 사용하여 페이지 상단으로 스크롤하려면 어떻게합니까? 스크롤바가 페이지 상단으로 즉시 점프하는 것은 부드러운 스크롤링을 원하지 않기 때문에 바람직합니다. 답변 애니메이션을 적용하기 위해 변경 사항이 필요하지 않으면 특별한 플러그인을 사용할 필요가 없습니다. 기본 JavaScript window.scrollTo() 메서드를 0, 0 전달하면 페이지가 맨 위로 스크롤됩니다. 즉시 떠났습니다. window.scrollTo(xCoord, yCoord); 매개 변수 xCoord는 가로 축을 따라있는 픽셀입니다. yCoord는 세로 축을 따라있는 픽셀입니다. 출처 : https://stackoverflow.com/que..

JavaScript 개체의 속성을 얻는 방법

질문 : JavaScript 개체의 속성을 어떻게 열거합니까? JavaScript 개체의 속성을 어떻게 열거합니까? 실제로 정의 된 모든 변수와 해당 값을 나열하고 싶지만 변수를 정의하면 실제로 창 개체의 속성이 생성된다는 것을 배웠습니다. 답변 충분히 간단합니다. for(var propertyName in myObject) { // propertyName is what you want // you can get the value like this: myObject[propertyName] } 이제는 사용할 수 없기 때문에 이러한 방식으로 개인 변수를 얻을 수 없습니다. 편집 : @bitwiseplatypus hasOwnProperty() 메서드를 사용하지 않으면 상속 된 속성을 얻게된다는 것이 맞습니다..

JavaScript Math, 소수점 둘째 자리로 반올림 하는 방법

질문 : JavaScript 수학, 소수점 둘째 자리로 반올림 다음 JavaScript 구문이 있습니다. var discount = Math.round(100 - (price / listprice) * 100); 이것은 정수로 반올림됩니다. 소수점 이하 두 자리로 결과를 반환하려면 어떻게해야합니까? 답변 참고-3 자리 정밀도가 중요한 경우 편집 4 참조 var discount = (price / listprice).toFixed(2); toFixed는 소수점 2 자리 이상의 값에 따라 반올림하거나 내림합니다. 예 : http://jsfiddle.net/calder12/tv9HY/ 문서 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference..

TDD 용 JavaScript 단위 테스트 도구

질문 : TDD 용 JavaScript 단위 테스트 도구 많은 JavaScript 단위 테스트 및 테스트 도구를 조사하고 고려했지만 TDD를 완전히 준수하는 데 적합한 옵션을 찾지 못했습니다. 그렇다면 TDD를 완전히 준수하는 JavaScript 단위 테스트 도구가 있습니까? 답변 Karma는 Node.js로 빌드되고 단위 테스트를위한 JavaScript 테스트 실행기입니다. Protractor는 종단 간 테스트 용이며 Selenium Web Driver를 사용하여 테스트를 진행합니다. 둘 다 Angular 팀에서 만들었습니다. 어느 쪽이든 원하는 어설 션 라이브러리를 사용할 수 있습니다. Screencast : Karma 시작하기 관련 : 종단 간 테스트에 Protractor 또는 Karma를 사용해야..

객체를 반환하는 ECMAScript 6 화살표(=>) 함수

질문 : 객체를 반환하는 ECMAScript 6 화살표 함수 화살표 함수에서 객체를 반환 할 때 문법의 모호성 때문에 {} 와 return 즉, p => {foo: "bar"} 를 쓸 수는 없지만 p => { return {foo: "bar"}; } . 화살표 함수가 객체 이외의 것을 반환하는 경우 {} 및 return 은 필요하지 않습니다 (예 : p => "foo" . p => {foo: "bar"} undefined 반환합니다. 수정 된 p => {"foo": "bar"} 는 " SyntaxError : 예기치 않은 토큰 : ' : '"을 발생 시킵니다. 내가 놓친 명백한 것이 있습니까? 답변 반환하는 개체 리터럴을 괄호로 묶어야합니다. 그렇지 않으면 중괄호가 함수의 본문을 나타내는 것으로 간주됩니..

JavaScript에서 for… of 구문을 사용하여 loop counter/index 가져 오기

질문 : JavaScript에서 for… of 구문을 사용하여 루프 카운터 / 인덱스 가져 오기 주의 for…of 루프에 여전히 적용됩니다 for…in 을 사용하여 Array 를 반복하지 말고 객체 의 속성 을 반복하는 데 사용하십시오. 즉,이 JavaScript의 기본 for…in 구문은 다음과 같습니다. for (var obj in myArray) { // ... } 하지만 루프 카운터 / 인덱스 는 어떻게 얻습니까? 제가 할 수 있는 일은 다음과 같습니다: var i = 0; for (var obj in myArray) { alert(i) i++ } 또는 심지어 좋은 오래된: for (var i = 0; i < myArray.length; i++) { var obj = myArray[i] alert..

728x90
반응형