728x90
반응형

프로그래밍 언어/HTML,CSS,JS 438

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..

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에서 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의 객체인지 확인하는 방법

질문 : 값이 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 개체의 속성을 어떻게 열거합니까? 실제로 정의 된 모든 변수와 해당 값을 나열하고 싶지만 변수를 정의하면 실제로 창 개체의 속성이 생성된다는 것을 배웠습니다. 답변 충분히 간단합니다. 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..

CSS 스크롤바 막대 숨기기

질문 : 스크롤 막대를 숨기지 만 여전히 스크롤 할 수 있음 스크롤바를 표시하지 않고 전체 페이지를 스크롤 할 수 있기를 원합니다. Google 크롬에서는 다음과 같습니다. ::-webkit-scrollbar { display: none; } 그러나 Mozilla Firefox와 Internet Explorer는 그렇게 작동하지 않는 것 같습니다. 나는 또한 이것을 CSS에서 시도했다. overflow: hidden; 그러면 스크롤바가 숨겨 지지만 더 이상 스크롤 할 수 없습니다. 전체 페이지를 스크롤 할 수있는 동안 스크롤바를 제거 할 수있는 방법이 있습니까? CSS 또는 HTML 만 사용하십시오. 답변 잘 작동하는 테스트입니다. #parent{ width: 100%; height: 100%; over..

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..

이름이 문자열 일 때 JavaScript 함수를 실행하는 방법

질문 : 이름이 문자열 일 때 JavaScript 함수를 실행하는 방법 JavaScript의 함수 이름이 문자열로 있습니다. 나중에 호출 할 수 있도록 함수 포인터로 어떻게 변환합니까? 상황에 따라 다양한 인수를 메서드에 전달해야 할 수도 있습니다. namespace.namespace.function(args[...]) 형식을 취할 수 있습니다. 답변 절대적으로 다른 선택의 여지가 없다면 eval 사용하지 마십시오. 언급했듯이 다음과 같은 것을 사용하는 것이 가장 좋은 방법입니다. window["functionName"](arguments); 그러나 네임 스페이스 함수에서는 작동하지 않습니다. window["My.Namespace.functionName"](arguments); // fail 다음과 같이..

JavaScript에서 연관 배열 / 해싱을 수행하는 방법

질문 : JavaScript에서 연관 배열 / 해싱을 수행하는 방법 C #에서하는 것과 같은 방식으로 JavaScript를 사용하여 통계를 저장해야합니다. Dictionary statistics; statistics["Foo"] = 10; statistics["Goo"] = statistics["Goo"] + 1; statistics.Add("Zoo", 1); JavaScript에 Hashtable Dictionary 와 같은 것이 있습니까? 어떻게 이런 방식으로 값을 저장할 수 있습니까? 답변 JavaScript 객체를 연관 배열로 사용합니다. 연관 배열 : 간단히 말해서 연관 배열은 정수 대신 문자열을 인덱스로 사용합니다. 다음을 사용하여 개체 만들기 var dictionary = {}; JavaSc..

JavaScript에서 변수의 범위에 대해서

질문 : JavaScript에서 변수의 범위는 무엇입니까? 자바 스크립트의 변수 범위는 무엇입니까? 함수 외부와 반대로 내부에 동일한 범위가 있습니까? 아니면 중요합니까? 또한 전역 적으로 정의 된 변수는 어디에 저장됩니까? 답변 TLDR JavaScript에는 어휘 (정적이라고도 함) 범위 지정 및 클로저가 있습니다. 즉, 소스 코드를보고 식별자의 범위를 알 수 있습니다. 네 가지 범위는 다음과 같습니다. Global - 모든 것이 표시 Function - 함수(및 하위 함수 및 블록) 내에서 볼 수 있습니다. Block - 블럭(및 해당 하위 블럭) 내에서 볼 수 있습니다. Module - 모듈 내에서 볼 수 있음 전역 및 모듈 범위의 특별한 경우를 제외하고 변수는 var (함수 범위), let (블..

"radio"입력 필드에 "required"속성을 사용하는 방법

질문 : "radio"입력 필드에 "required"속성을 사용하는 방법 라디오 버튼에서 새로운 HTML5 입력 속성 "필수"를 올바른 방법으로 사용하는 방법이 궁금합니다. 모든 라디오 버튼 필드에 아래와 같은 속성이 필요합니까 아니면 하나의 필드 만 가져 오면 충분합니까? 답변 TL; DR : 라디오 그룹의 하나 이상의 입력에 required required 설정은 더 명확하지만 필요하지는 않습니다 (동적으로 라디오 버튼을 생성하지 않는 한). 라디오 버튼을 그룹화하려면 모두 동일한 name 값을 가져야합니다. 이렇게하면 한 번에 하나만 선택할 수 있으며 전체 그룹에 required Select Gender: Male Female Other 또한 다음 사항에 유의하십시오. 라디오 버튼 그룹이 필요한지 ..

Javascript 객체의 첫 번째 속성에 액세스하는 방법

질문 : Javascript 객체의 첫 번째 속성에 액세스하는 방법은 무엇입니까? 객체의 첫 번째 속성에 액세스하는 우아한 방법이 있습니까? 예를 들어, foo1 의 이름을 모르고 foo1 객체에 액세스해야합니다. var example = { foo1: { /* stuff1 */}, foo2: { /* stuff2 */}, foo3: { /* stuff3 */} }; 답변 var obj = { first: 'someVal' }; obj[Object.keys(obj)[0]]; //returns 'someVal' 이를 사용하면 인덱스로 다른 속성에도 액세스 할 수 있습니다. 조심해! Object.keys 반환 순서는 ECMAScript에 따라 보장되지 않지만 비공식적으로 모든 주요 브라우저 구현에 의해 이루..

JavaScript 개체[object Object]의 내용을 출력하는 방법

질문 : JavaScript 개체의 내용을 인쇄 하시겠습니까? 일반적으로 alert(object); [object Object] 로 표시됩니다. JavaScript에서 개체의 모든 콘텐츠 매개 변수를 인쇄하는 방법은 무엇입니까? 답변 Firefox를 사용하는 경우 간단한 디버깅 목적으로 alert(object.toSource()) 출처 : https://stackoverflow.com/questions/1625208/print-content-of-javascript-object

JavaScript를 사용하여 select 에서 선택한 값 가져 오기

질문 : JavaScript를 사용하여 드롭 다운 목록에서 선택한 값 가져 오기 JavaScript를 사용하여 드롭 다운 목록에서 선택한 값을 가져 오려면 어떻게합니까? 아래 방법을 시도했지만 모두 값 대신 선택한 인덱스를 반환합니다. var e = document.getElementById("ddlViewBy"); function show(){ var as = document.forms[0].ddlViewBy.value; var strUser = e.options[e.selectedIndex].value; console.log(as, strUser); } e.onchange=show; show(); test1 test2 test3 답변 다음과 같은 선택 요소가있는 경우 : test1 test2 test..

[javascript] call와 apply의 차이점

질문 : 전화와 신청의 차이점은 무엇입니까? call 을 사용하는 것과 함수를 호출하기 위해 apply 하는 것의 차이점은 무엇입니까? var func = function() { alert('hello!'); }; func.apply(); vs func.call(); 앞서 언급 한 두 가지 방법간에 성능 차이가 있습니까? call 오버 apply 을 사용하는 것이 가장 좋으며 그 반대의 경우는 언제입니까? 답변 apply arguments 를 배열로 사용하여 함수를 호출 할 수 있다는 것입니다. call 하려면 매개 변수를 명시 적으로 나열해야합니다. 유용한 니모닉은 " A 는 rray, C 는 c omma"입니다. 신청 및 전화 에 대한 MDN의 문서를 참조하십시오. 의사 구문 : theFunction..

728x90
반응형