728x90
반응형

JavaScript 302

이름이 문자열 일 때 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 (블..

Try / Catch를 사용하지 않고 JavaScript에서 문자열이 유효한 JSON 문자열인지 확인하는 방법

질문 : Try / Catch를 사용하지 않고 JavaScript에서 문자열이 유효한 JSON 문자열인지 확인하는 방법 다음과 같은 것 : var jsonString = '{ "Id": 1, "Name": "Coke" }'; //should be true IsJsonString(jsonString); //should be false IsJsonString("foo"); IsJsonString("foo") 솔루션에는 try / catch가 포함되지 않아야합니다. 우리 중 일부는 "모든 오류 중단"을 설정하고 잘못된 JSON 문자열을 중단하는 디버거를 좋아하지 않습니다. 답변 먼저 코멘트. try/catch 사용하지 않는 것에 관한 것이 었습니다. 그것을 사용해도 괜찮다면 아래 답변을 읽으십시오. JSON ..

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에서 이메일 주소를 확인하는 방법 (정규식)

질문 : JavaScript에서 이메일 주소를 확인하는 방법 JavaScript에서 이메일 주소를 검증하는 정규식이 있습니까? 답변 정규식을 사용하는 것이 아마도 가장 좋은 방법 일 것입니다. 여기 에서 여러 테스트를 볼 수 있습니다 ( 크롬 에서 가져옴) function validateEmail(email) { const re = /^(([^()[\]\\.,;:\s@"]+(\.[^()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(String(email).toLowerCase()); } 다음은 유니 코드를 허용하는..

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

npm 패키지에서 "at"(@) 접두어의 의미

질문 : npm 패키지에서 "at"(@) 접두어의 의미는 무엇입니까? Angular Component Router 문서에서 방금 전에 본 적이없는 npm 명령을 우연히 발견했고 무슨 일이 벌어지고 있는지 이해할 수 없습니다. npm install @angular/router --save @angular/router 의 의미는 무엇입니까? 전체 문자열이 패키지 이름입니까? 그러나 npmjs.com 에서 검색을 사용할 때 해당 패키지를 찾지 못했습니다. 또한 명령 줄 검색은 이러한 패키지를 반환하지 않습니다. npm search @angular/router :No match found for "@angular/router" 그래서 @angular/ 는 npm에서 접두사 메커니즘의 일종입니까? 그리고 어떻게 ..

개발관련/other 2021.11.22

자바스크립트 객체를 문자열로 변환

질문 : 객체를 문자열로 변환 JavaScript 객체를 문자열로 어떻게 변환 할 수 있습니까? 예: var o = {a:1, b:2} console.log(o) console.log('Item: ' + o) 산출: Object {a = 1, b = 2} // 매우 읽기 쉬운 출력 :) Item : [object Object] // 안에 무엇이 있는지 모르겠습니다 :( 답변 객체의 변수 집합을 JSON 문자열로 변환하는 JSON.stringify 사용하는 것이 좋습니다. 대부분의 최신 브라우저는 기본적으로이 방법을 지원하지만 그렇지 않은 경우에는 JS 버전을 포함 할 수 있습니다. var obj = { name: 'myObj' }; JSON.stringify(obj); 출처 : https://stacko..

JavaScript를 사용하여 URL에서 #hash를 확인하는 방법

질문 : JavaScript를 사용하여 URL에서 #hash를 어떻게 확인할 수 있습니까? # ) 앵커 링크가있을 때만 실행하려는 jQuery / JavaScript 코드가 있습니다. JavaScript를 사용하여이 문자를 어떻게 확인할 수 있습니까? 다음과 같은 URL을 감지하는 간단한 포괄 테스트가 필요합니다. example.com/page.html#anchor example.com/page.html#anotheranchor 기본적으로 다음과 같은 내용이 있습니다. if (thereIsAHashInTheUrl) { do this; } else { do this; } 누구든지 저를 올바른 방향으로 안내해 주시면 대단히 감사하겠습니다. 답변 단순한: if(window.location.hash) { // ..

JavaScript에서 여러 값을 return 하는 벙법

질문 : JavaScript에서 여러 값을 반환 하시겠습니까? JavaScript 에서 두 값을 반환하려고합니다. 이것이 가능한가? var newCodes = function() { var dCodes = fg.codecsCodes.rs; var dCodes2 = fg.codecsCodes2.rs; return dCodes, dCodes2; }; 답변 아니요,하지만 값을 포함하는 배열을 반환 할 수 있습니다. function getValues() { return [getFirstValue(), getSecondValue()]; } 그런 다음 다음과 같이 액세스 할 수 있습니다. var values = getValues(); var first = values[0]; var second = values[1]..

자바 스크립트 배열의 처음에 요소 집어넣기

질문 : 배열 시작 부분의 자바 스크립트 푸시 요소 객체 배열이 있고 배열의 시작 부분에 요소를 푸시하고 싶습니다. 내가 이거 가지고있어: var TheArray = TheObjects.Array; TheArray.push(TheNewObject); TheNewObject 를 추가하고 있습니다. 새 배열을 만들고 TheNewObject 를 추가 한 다음 TheArray 를 반복하고 각 요소를 배열에 추가해야합니까? 답변 시작 부분에 인수를 추가하여 기존 배열을 수정하는 unshift 사용하십시오. TheArray.unshift(TheNewObject); 출처 : https://stackoverflow.com/questions/8159524/javascript-pushing-element-at-the-be..

CSS가 항상 Javascript보다 먼저 나와야 하는 이유

질문 : CSS가 항상 Javascript보다 우선해야합니까? 온라인의 수많은 곳에서 JavaScript 이전에 CSS를 포함하라는 권장 사항을 보았습니다. 그 이유는 일반적으로 다음 과 같은 형식입니다 . CSS와 자바 스크립트를 주문할 때 CSS가 먼저 나오기를 원합니다. 그 이유는 렌더링 스레드에 페이지를 렌더링하는 데 필요한 모든 스타일 정보가 있기 때문입니다. JavaScript 포함이 먼저 오는 경우 JavaScript 엔진은 다음 리소스 세트로 계속 진행하기 전에 모든 것을 구문 분석해야합니다. 이것은 렌더링 스레드가 필요한 모든 스타일을 가지고 있지 않기 때문에 페이지를 완전히 표시 할 수 없음을 의미합니다. 내 실제 테스트는 매우 다른 것을 보여줍니다. My test harness 다음 ..

동적으로 명명 된 속성을 JavaScript 개체에 추가 하는 방법

질문 : 동적으로 명명 된 속성을 JavaScript 개체에 추가 할 수 있습니까? JavaScript에서 다음과 같은 개체를 만들었습니다. var data = { 'PropertyA': 1, 'PropertyB': 2, 'PropertyC': 3 }; 런타임까지 속성 이름이 결정되지 않은 경우 초기 생성 후이 개체에 추가 속성을 추가 할 수 있습니까? 즉 var propName = 'Property' + someUserInput //imagine someUserInput was 'Z', how can I now add a 'PropertyZ' property to //my object? 답변 예. var data = { 'PropertyA': 1, 'PropertyB': 2, 'PropertyC': 3..

JavaScript에서 문자열을 여러 번 반복하는 방법

질문 : JavaScript에서 문자열을 여러 번 반복 Perl에서는 다음 구문을 사용하여 문자를 여러 번 반복 할 수 있습니다. $a = "a" x 10; // results in "aaaaaaaaaa" Javascript에서 이것을 수행하는 간단한 방법이 있습니까? 분명히 함수를 사용할 수 있지만, 내장 된 접근 방식이나 다른 영리한 기술이 있는지 궁금합니다. 답변 요즘에는 repeat 문자열 방법 이 거의 모든 곳에서 구현됩니다. ( Internet Explorer 에는 없습니다.) 따라서 이전 브라우저를 지원할 필요가 없다면 다음과 같이 작성하면됩니다. "a".repeat(10) repeat 하기 전에이 해킹을 사용했습니다. Array(11).join("a") // create string wit..

javascript 배열을 복사하는 방법

질문 : 값으로 배열 복사 JavaScript의 배열을 다른 배열로 복사하는 경우 : var arr1 = ['a','b','c']; var arr2 = arr1; arr2.push('d'); //Now, arr1 = ['a','b','c','d'] arr2 가 새로운 독립 배열이 아니라 arr1 과 동일한 배열을 참조한다는 것을 깨달았습니다. 두 개의 독립적 인 배열을 얻기 위해 배열을 복사하려면 어떻게해야합니까? 답변 이것을 사용하십시오 : let oldArray = [1, 2, 3, 4, 5]; let newArray = oldArray.slice(); console.log({newArray}); 기본적으로 slice() 작업은 배열을 복제하고 새 배열에 대한 참조를 반환합니다. 다음 사항도 참고하십..

JavaScript에서 방향키를 감지 하는 방법

질문 : JavaScript에서 화살표 키 누름 감지 화살표 키 중 하나를 눌렀을 때 어떻게 감지합니까? 나는 이것을 사용하여 알아 냈다. function checkKey(e) { var event = window.event ? window.event : e; console.log(event.keyCode) } 다른 모든 키에는 작동했지만 화살표 키에는 작동하지 않았습니다 (브라우저가 기본적으로 이러한 키를 스크롤해야하기 때문일 수 있음). 답변 화살표 키는 onkeypress 아닌 onkeydown 의해서만 트리거됩니다. 키코 드는 다음과 같습니다. 왼쪽 = 37 위로 = 38 오른쪽 = 39 아래로 = 40 출처 : https://stackoverflow.com/questions/5597060/det..

JavaScript에서 상수를 사용하는 방법

질문 : JavaScript에 상수가 있습니까? JavaScript 에서 상수를 사용하는 방법이 있습니까? 그렇지 않은 경우 상수로 사용되는 변수를 지정하는 일반적인 방법은 무엇입니까? 답변 ES2015 이후 const 라는 개념을 가지고 있습니다. const MY_CONSTANT = "some-value"; 이것은 IE 8, 9 및 10을 제외한 거의 모든 브라우저 에서 작동합니다. 일부는 엄격 모드를 활성화해야 할 수도 있습니다. var 를 사용하여 이전 브라우저를 지원해야하거나 레거시 코드로 작업하는 경우 특정 값을 수정하지 않아야 함을 표시 할 수 있습니다. var MY_CONSTANT = "some-value"; 출처 : https://stackoverflow.com/questions/13039..

JavaScript 배열에서 마지막 요소 선택

질문 : JavaScript 배열에서 마지막 요소 선택 사용자의 위치와 경로를 실시간으로 업데이트하여 구글 맵에 표시하는 어플리케이션을 만들고 있습니다. 매초 업데이트되는 개체를 사용하여 여러 사용자를 동시에 추적 할 수있는 기능이 있습니다. 현재 사용자가 Android 앱에서 버튼을 누르면 좌표가 데이터베이스로 전송되고 위치가 변경 될 때마다지도에 마커가 업데이트되고 폴리 라인이 형성됩니다. 사용자가 여러 명이므로 각 사용자에 대한 개별 경로를 표시 할 수 있도록 고유하고 무작위로 생성 된 영숫자 문자열을 보냅니다. JS가 데이터베이스에서이 데이터를 가져올 때 사용자가 존재하는지 확인하고 존재하지 않는 경우 값이 목록 인 새 키를 만듭니다. 다음과 같이 보일 것입니다. loc = {f096012e-24..

JavaScript 삼항연산자를 사용하는 방법

질문 : 어떻게 사용합니까? : JavaScript의 (조건부) 연산자? 간단히 말해서 ?: 조건부, "삼항") 연산자는 무엇이며 어떻게 사용할 수 있습니까? 답변 이것은 if-else 문에 대한 한 줄 속기입니다. 이를 조건부 연산자라고합니다. 1 다음은 조건부 연산자로 단축 할 수있는 코드의 예입니다. var userType; if (userIsYoungerThan18) { userType = "Minor"; } else { userType = "Adult"; } if (userIsYoungerThan21) { serveDrink("Grape Juice"); } else { serveDrink("Wine"); } ?: 로 단축 할 수 있습니다. var userType = userIsYoungerTha..

Node.js에서 파일 쓰기

질문 : Node.js에서 파일 쓰기 Node.js를 사용할 때 파일에 쓰는 방법을 찾으려고 노력했지만 성공하지 못했습니다. 어떻게 할 수 있습니까? 답변 파일 시스템 API 에는 많은 세부 정보가 있습니다. 가장 일반적인 방법은 다음과 같습니다. const fs = require('fs'); fs.writeFile("/tmp/test", "Hey there!", function(err) { if(err) { return console.log(err); } console.log("The file was saved!"); }); // Or fs.writeFileSync('/tmp/test-sync', 'Hey there!'); 출처 : https://stackoverflow.com/questions/249..

개발관련/other 2021.11.12

JavaScript로 파일 확장자를 얻는 방법

질문 : JavaScript로 파일 확장자를 얻으려면 어떻게해야합니까? 코드 참조 : var file1 = "50.xsl"; var file2 = "30.doc"; getFileExtension(file1); //returns xsl getFileExtension(file2); //returns doc function getFileExtension(filename) { /*TODO*/ } 답변 Newer Edit : 이 질문이 처음 게시 된 이후로 많은 것이 변경되었습니다. Wallacer의 수정 된 답변 과 VisioN의 우수한 분석에 정말 좋은 정보가 많이 있습니다. 편집 : 이것이 허용 된 대답이기 때문에; wallacer의 대답 은 실제로 훨씬 낫습니다. return filename.split('..

자바 스크립트 객체에 key가 있는지 확인하는 방법

질문 : 자바 스크립트 객체에 키가 있는지 확인하고 있습니까? JavaScript 객체 또는 배열에 특정 키가 있는지 어떻게 확인합니까? 키가 존재하지 않고 액세스하려고하면 false를 반환합니까? 아니면 오류가 발생합니까? 답변 정의되지 않았는지 확인하는 것은 키가 있는지 여부를 테스트하는 정확한 방법이 아닙니다. 키가 있지만 값이 실제로 undefined 어떻게합니까? var obj = { key: undefined }; obj["key"] !== undefined // false, but the key exists! in 연산자를 사용해야합니다. "key" in obj // true, regardless of the actual value 키가 존재하지 않는지 확인하려면 괄호를 사용해야합니다. !(..

개발관련/other 2021.11.12
728x90
반응형