728x90
반응형

JavaScript 302

javascript 문자열에서 텍스트를 제거하는 방법

질문 : 문자열에서 텍스트를 제거하는 방법은 무엇입니까? data-123 문자열이 있습니다. 123 을 떠나면서 문자열에서 data- 를 제거하려면 어떻게해야합니까? 답변 var ret = "data-123".replace('data-',''); console.log(ret); //prints: 123 문서. 모든 발생을 폐기하려면 다음을 사용하십시오. var ret = "data-123".replace(/data-/g,''); 추신 : replace 함수는 새 문자열을 반환하고 원래 문자열을 변경하지 않고 그대로 두므로 replace () 호출 후에 함수 반환 값을 사용하십시오. 출처 : https://stackoverflow.com/questions/10398931/how-to-remove-text-..

Moment Js에서 두 날짜 간의 시간 차이 가져 오기

질문 : Moment Js에서 두 날짜 간의 시간 차이 가져 오기 다음과 같이 MomentJs를 사용하여 두 날짜의 차이를 얻을 수 있습니다. moment(end.diff(startTime)).format("m[m] s[s]") 그러나 해당되는 경우 시간도 표시하고 싶습니다 (> = 60 분이 경과 한 경우에만). 그러나 다음을 사용하여 기간 시간을 검색하려고 할 때 : var duration = moment.duration(end.diff(startTime)); var hours = duration.hours(); 두 날짜 사이의 시간이 아니라 현재 시간을 반환합니다. 두 Moments의 시간 차이를 어떻게 알 수 있습니까? 답변 당신은 가까웠습니다. duration.asHours() 메서드를 사용하기..

jQuery 원하는 요소로 스크롤 하는 방법

질문 : 요소로 jQuery 스크롤 이 input 요소가 있습니다. 그런 다음 다른 텍스트 입력, 텍스트 영역 등과 같은 다른 요소가 있습니다. 사용자가 #subject input 을 클릭하면 페이지가 멋진 애니메이션으로 페이지의 마지막 요소로 스크롤되어야합니다. 스크롤은 맨 아래가 아니라 맨 아래로 이동해야합니다. 페이지의 마지막 항목은 #submit submit 버튼입니다. 애니메이션은 너무 빠르지 않아야하며 유동적이어야합니다. 최신 jQuery 버전을 실행하고 있습니다. 플러그인을 설치하지 않고 기본 jQuery 기능을 사용하여이를 달성하는 것을 선호합니다. 답변 button 이있는 버튼이 있다고 가정하면 다음 예제를 시도해보십시오. $("#button").click(function() { $([d..

JavaScript에서 하나의 요소를 제외하고 배열을 복제하는 방법

질문 : 하나의 키를 제외하고 JavaScript 객체를 복제하려면 어떻게해야합니까? 평면 JS 개체가 있습니다. {a: 1, b: 2, c: 3, ..., z:26} 하나의 요소를 제외하고 개체를 복제하고 싶습니다. {a: 1, c: 3, ..., z:26} 이를 수행하는 가장 쉬운 방법은 무엇입니까 (가능한 경우 es6 / 7 사용 선호)? 답변 Babel 을 사용하는 경우 다음 구문을 사용하여 속성 b를 x에서 변수 b로 복사 한 다음 나머지 속성을 변수 y로 복사 할 수 있습니다. let x = {a: 1, b: 2, c: 3, z:26}; let {b, ...y} = x; 다음 으로 변환 됩니다. "use strict"; function _objectWithoutProperties(obj, ke..

JSLint : "use strict"의 함수 형식을 사용합니다.

질문 : JSLint가 갑자기보고합니다. "use strict"의 함수 형식을 사용합니다. 나는 진술을 포함한다 : "use strict"; 대부분의 Javascript 파일 시작 부분에 있습니다. JSLint는 이전에 이것에 대해 경고 한 적이 없습니다. 그러나 이제는 다음과 같이 말합니다. "엄격한 사용"의 함수 형식을 사용하십시오. "함수 형식"이 무엇인지 아는 사람이 있습니까? 답변 'use strict'; 포함; 래핑 함수의 첫 번째 문으로 사용되므로 해당 함수에만 영향을줍니다. 이는 엄격하지 않은 스크립트를 연결할 때 문제를 방지합니다. Douglas Crockford의 최신 블로그 게시물 Strict Mode Is Coming To Town을 참조하십시오 . 해당 게시물의 예 : (funct..

모든 jQuery Ajax 요청이 완료될 때까지 대기하도록 하는 방법

질문 : 모든 jQuery Ajax 요청이 완료 될 때까지 기다리시겠습니까? 모든 jQuery Ajax 요청이 다른 함수 내에서 완료 될 때까지 함수가 대기하도록하려면 어떻게해야합니까? 요컨대, 다음을 실행하기 전에 모든 Ajax 요청이 완료 될 때까지 기다려야합니다. 하지만 어떻게? 답변 jQuery는 이제 이러한 목적을 위해 when 함수를 정의합니다. 임의의 수의 Deferred 개체를 인수로 받아들이고 모든 개체가 해결되면 함수를 실행합니다. 즉, (예를 들어) 네 개의 ajax 요청을 시작한 다음 완료되면 작업을 수행하려면 다음과 같이 할 수 있습니다. $.when(ajax1(), ajax2(), ajax3(), ajax4()).done(function(a1, a2, a3, a4){ // the..

JavaScript의 특정 색인에서 문자를 바꾸는 방법

질문 : JavaScript의 특정 색인에서 문자를 어떻게 바꾸나요? 문자열이 있습니다. Hello world 라고 가정 해 보겠습니다. 색인 3에서 문자를 대체해야합니다. 색인을 지정하여 문자를 어떻게 대체 할 수 있습니까? var str = "hello world"; 나는 뭔가가 필요해 str.replaceAt(0,"h"); 답변 JavaScript에서 문자열은 변경 불가능합니다 . 즉, 변경된 내용으로 새 문자열을 만들고이를 가리키는 변수를 할당하는 것이 가장 좋습니다. replaceAt() 함수를 직접 정의해야합니다. String.prototype.replaceAt = function(index, replacement) { return this.substr(0, index) + replacemen..

텍스트 선택 강조 표시를 비활성화하는 방법

질문 : 텍스트 선택 강조 표시를 비활성화하는 방법 버튼 (예 : Stack Overflow 페이지 상단에있는 Questions , Tags , Users 등) 또는 탭처럼 작동하는 앵커의 경우 사용자가 실수로 텍스트를 선택한 경우 강조 표시 효과를 비활성화하는 CSS 표준 방법이 있습니까? ? 이 작업은 JavaScript로 수행 할 수 있으며 약간의 인터넷 검색으로 Mozilla 전용 -moz-user-select 옵션이 생성되었습니다. CSS로이를 수행 할 수있는 표준 준수 방법이 있습니까? 그렇지 않은 경우 "모범 사례"접근 방식은 무엇입니까? 답변 2017 년 1 월 업데이트 : Can I use 에 따르면 현재 Internet Explorer 9 및 이전 버전을 제외한 모든 브라우저에서 use..

구성 요소가 ReactJS에서 제어 할 텍스트 유형의 제어되지 않은 입력을 변경하고 있습니다.

질문 : 구성 요소가 ReactJS에서 제어 할 텍스트 유형의 제어되지 않은 입력을 변경하고 있습니다. 경고 : 구성 요소가 제어 할 텍스트 유형의 제어되지 않은 입력을 변경하고 있습니다. 입력 요소는 제어되지 않음에서 제어 됨으로 (또는 그 반대로) 전환되지 않아야합니다. 구성 요소의 수명 동안 제어되거나 제어되지 않은 입력 요소를 사용할지 여부를 결정합니다. * 다음은 내 코드입니다. constructor(props) { super(props); this.state = { fields: {}, errors: {} } this.onSubmit = this.onSubmit.bind(this); } .... onChange(field, e){ let fields = this.state.fields; fie..

JSON과 유사한 형식으로 원형 구조를 출력 하는 방법

질문 : JSON과 유사한 형식으로 원형 구조를 인쇄하려면 어떻게해야합니까? JSON으로 변환하여 보내려는 큰 개체가 있습니다. 그러나 그것은 원형 구조를 가지고 있습니다. 나는 순환 참조가 존재하는 모든 것을 던지고 문자열이 될 수있는 것을 보내고 싶습니다. 어떻게하나요? 감사. var obj = { a: "foo", b: obj } obj를 다음과 같이 문자열 화하고 싶습니다. {"a":"foo"} 답변 사용자 지정 JSON.stringify 와 함께 JSON.stringify를 사용합니다. 예를 들면 : // Demo: Circular reference var circ = {}; circ.circ = circ; // Note: cache should not be re-used by repeated ..

HTML 양식 읽기 전용 SELECT 태그 / 입력

질문 : HTML 양식 읽기 전용 SELECT 태그 / 입력 HTML 사양에 따르면 HTML의 select 태그에는 readonly 속성 disabled 속성 만 있습니다. 따라서 사용자가 드롭 다운을 변경 disabled 하려면 disabled를 사용해야합니다. 유일한 문제는 비활성화 된 HTML 양식 입력이 POST / GET 데이터에 포함되지 않는다는 것입니다. select 태그에 대한 readonly 속성을 에뮬레이트하고 여전히 POST 데이터를 얻는 가장 좋은 방법은 무엇입니까? 답변 select 요소를 disabled 상태로 유지하고 동일한 이름과 값을 가진 또 다른 숨겨진 input SELECT를 다시 활성화하는 경우 해당 값을 onchange 이벤트의 숨겨진 입력에 복사하고 숨겨진 입력을 ..

jQuery를 사용하여 양식 입력 필드를 얻는 방법

질문 : jQuery를 사용하여 양식 입력 필드를 얻습니까? 입력 필드가 많은 양식이 있습니다. jQuery로 제출 양식 이벤트를 잡을 때 해당 양식의 모든 입력 필드를 연관 배열로 가져올 수 있습니까? 답변 $('#myForm').submit(function() { // get all the inputs into an array. var $inputs = $('#myForm :input'); // not sure if you wanted this, but I thought I'd add it. // get an associative array of just the values. var values = {}; $inputs.each(function() { values[this.name] = $(this)..

Chrome sendrequest 오류 : TypeError : Converting circular structure to JSON

질문 : Chrome sendrequest 오류 : TypeError : 원형 구조를 JSON으로 변환 다음이 있습니다 ... chrome.extension.sendRequest({ req: "getDocument", docu: pagedoc, name: 'name' }, function(response){ var efjs = response.reply; }); 다음을 호출합니다 .. case "getBrowserForDocumentAttribute": alert("ZOMG HERE"); sendResponse({ reply: getBrowserForDocumentAttribute(request.docu,request.name) }); break; 그러나 내 코드는 "ZOMG HERE"에 도달하지 않고 ..

node.js에서 파일을 한 번에 한 줄씩 읽는 방법

질문 : node.js에서 한 번에 한 줄씩 파일을 읽습니까? 큰 파일을 한 번에 한 줄씩 읽으려고합니다. 나는 주제를 다룬 Quora에 대한 질문을 찾았지만 모든 것을 함께 맞추기위한 몇 가지 연결이 누락되었습니다. var Lazy=require("lazy"); new Lazy(process.stdin) .lines .forEach( function(line) { console.log(line.toString()); } ); process.stdin.resume(); 내가 알아 내고 싶은 부분은이 샘플 에서처럼 STDIN 대신 파일에서 한 번에 한 줄씩 읽는 방법입니다. 나는 시도했다 : fs.open('./VeryBigFile.csv', 'r', '0666', Process); function Pro..

HTML 마크업에서 [script] 태그의 올바른 위치

질문 : 어디에 넣어야하나요 async 속성이있는 스크립트는 비동기 적으로 실행됩니다. 즉, 그 동안 브라우저를 차단하지 않고 스크립트가 다운로드되는 즉시 실행됩니다. 이는 스크립트 2가 스크립트 1보다 먼저 다운로드 및 실행될 수 있음을 의미합니다. http://caniuse.com/#feat=script-async 에 따르면 모든 브라우저의 97.78 %가이를 지원합니다. defer 속성이있는 스크립트는 순서대로 실행됩니다 (예 : 첫 번째 스크립트 1, 다음 스크립트 2). 이것은 또한 브라우저를 차단하지 않습니다. 비동기 스크립트와 달리 지연 스크립트는 전체 문서가로드 된 후에 만 실행됩니다. http://caniuse.com/#feat=script-defer 에 따르면 모든 브라우저의 97.79..

JavaScript에서 큰 따옴표 또는 작은 따옴표 사용 시기

질문 : JavaScript에서 큰 따옴표 또는 작은 따옴표는 언제 사용해야합니까? console.log("double"); vs. console.log('single'); 문자열을 처리 할 때 작은 따옴표를 사용하는 JavaScript 라이브러리가 점점 더 많이 보입니다. 하나를 사용하는 이유는 무엇입니까? 나는 그것들이 거의 상호 교환 가능하다고 생각했습니다. 답변 다른 라이브러리에서 단일 대 이중을 사용하는 가장 가능성있는 이유는 프로그래머 선호도 및 / 또는 API 일관성입니다. 일관성을 유지하는 것 외에 문자열에 가장 적합한 것을 사용하십시오. 다른 유형의 따옴표를 리터럴로 사용 : alert('Say "Hello"'); alert("Say 'Hello'"); 이것은 복잡해질 수 있습니다. al..

JavaScript에서 문자열을 Base64로 인코딩하는 방법

질문 : JavaScript에서 문자열을 Base64로 인코딩하려면 어떻게해야합니까? PNG 이미지를 Base64 문자열로 인코딩 할 수있는 PHP 스크립트가 있습니다. JavaScript를 사용하여 동일한 작업을하고 싶습니다. 파일을 여는 방법을 알고 있지만 인코딩 방법을 잘 모르겠습니다. 이진 데이터 작업에 익숙하지 않습니다. 답변 btoa() 및 atob() 을 사용하여 base64 인코딩간에 변환 할 수 있습니다. 이 함수가 수락 / 반환하는 것에 관한 의견에 약간의 혼란이있는 것 같습니다. btoa() 는 각 문자가 8 비트 바이트를 나타내는 "문자열"을 허용합니다. 8 비트로 표현할 수없는 문자를 포함하는 문자열을 전달 하면 아마 break . 실제로 문자열을 바이트 배열로 취급하는 경우 에는..

JavaScript .prototype가 작동하는 방식

질문 : JavaScript .prototype은 어떻게 작동합니까? 나는 동적 프로그래밍 언어는 아니지만 JavaScript 코드의 공정한 부분을 작성했습니다. 저는이 프로토 타입 기반 프로그래밍에 대해 전혀 몰랐습니다. 이것이 어떻게 작동하는지 아는 사람이 있습니까? var obj = new Object(); obj.prototype.test = function() { alert('Hello?'); }; var obj2 = new obj(); obj2.test(); 예전에 사람들과 많은 토론을했던 기억이납니다 (내가 뭘하고 있는지 정확히 모르겠습니다).하지만 이해하기 때문에 수업의 개념은 없습니다. 그것은 단지 하나의 개체이고 그 개체의 인스턴스는 원본의 복제물입니다. 그러나 JavaScript에서이..

JavaScript 문자열 개행 문자

질문 : JavaScript 문자열 개행 문자? \n 모든 플랫폼에서 자바 스크립트의 범용 개행 문자 시퀀스입니까? 그렇지 않은 경우 현재 환경의 캐릭터를 어떻게 결정합니까? HTML 개행 요소 ( )에 대해 묻지 않습니다. JavaScript 문자열 내에서 사용되는 개행 문자 시퀀스에 대해 묻습니다. 답변 이 바보 같은 JavaScript를 사용하여 몇 가지 브라우저를 테스트했습니다. function log_newline(msg, test_value) { if (!test_value) { test_value = document.getElementById('test').value; } console.log(msg + ': ' + (test_value.match(/\r/) ? 'CR' : '') + ' '..

React.js의 상태 배열 수정

질문 : React.js의 상태 배열 수정 state 배열의 끝에 요소를 추가하고 싶습니다. 이것이 올바른 방법입니까? this.state.arrayvar.push(newelement); this.setState({ arrayvar:this.state.arrayvar }); push 하여 배열을 제자리에서 수정하면 문제가 발생할 수 있습니다. 안전합니까? 배열의 복사본을 만드는 대안과 낭비적인 setState 답변 React 문서 는 다음과 같이 말합니다. this.state를 변경 불가능한 것처럼 취급하십시오. push 는 상태를 직접 변경하므로 나중에 상태를 다시 "재설정"하는 경우에도 오류가 발생하기 쉬운 코드로 이어질 수 있습니다. componentDidUpdate 와 같은 일부 수명주기 메서드가..

JavaScript에서 스택과 큐를 구현하는 방법

질문 : JavaScript에서 스택과 큐를 어떻게 구현합니까? JavaScript에서 스택 및 큐를 구현하는 가장 좋은 방법은 무엇입니까? 나는 shunting-yard 알고리즘을 수행하려고하며 이러한 데이터 구조가 필요합니다. 답변 var stack = []; stack.push(2); // stack is now [2] stack.push(5); // stack is now [2, 5] var i = stack.pop(); // stack is now [2] alert(i); // displays 5 var queue = []; queue.push(2); // queue is now [2] queue.push(5); // queue is now [2, 5] var i = queue.shift(); ..

AngularJS에서 범위 prototypal / prototypal inheritance 의 의미

질문 : AngularJS에서 범위 프로토 타입 / 프로토 타입 상속의 뉘앙스는 무엇입니까? API 참조 범위 페이지에 다음 내용이 표시됩니다. 범위는 상위 범위에서 상속 할 수 있습니다. 개발자 가이드 범위 페이지 에는 다음과 같은 내용이 있습니다. 범위 (원형)는 부모 범위에서 속성을 상속합니다. 그렇다면 자식 범위는 항상 부모 범위에서 프로토 타입 적으로 상속됩니까? 예외가 있습니까? 상속 할 때 항상 일반적인 JavaScript 프로토 타입 상속입니까? 답변 빠른 답변 : 일반적으로 자식 범위는 프로토 타입 적으로 부모 범위에서 상속되지만 항상 그런 것은 아닙니다. 이 규칙에 대한 한 가지 예외는 scope: { ... } 지시문입니다.이 경우 프로토 타입 적으로 상속되지 않는 "격리"범위가 생성..

Javascript에서 문자열의 첫 번째 문자 삭제

질문 : Javascript에서 문자열의 첫 번째 문자 삭제 첫 번째 문자가 0이면 문자열의 첫 번째 문자를 삭제하고 싶습니다. 0은 두 번 이상있을 수 있습니다. 첫 번째 문자를 확인하고 0이면 삭제하는 간단한 기능이 있나요? 지금은 JS slice() 함수로 시도하고 있지만 매우 어색합니다. 답변 substring 문자열을 사용하여 문자열의 첫 번째 문자를 제거 할 수 있습니다. var s1 = "foobar"; var s2 = s1.substring(1); alert(s2); // shows "oobar" 문자열의 시작 부분에있는 모든 0을 제거하려면 : var s = "0000test"; while(s.charAt(0) === '0') { s = s.substring(1); } 출처 : https..

CodeMash 2012의 'Wat'강연에서 언급 된 JavaScript 동작에 대한 설명

질문 : CodeMash 2012의 'Wat'강연에서 언급 된 이러한 기괴한 JavaScript 동작에 대한 설명은 무엇입니까? CodeMash 2012에 대한 'Wat'강연은 기본적으로 Ruby 및 JavaScript의 몇 가지 기이 한 단점을 지적합니다. http://jsfiddle.net/fe479/9/ 에서 결과의 JSFiddle을 만들었습니다. (루비를 모르기 때문에) 자바 스크립트와 관련된 동작은 다음과 같습니다. JSFiddle에서 내 결과 중 일부가 비디오의 결과와 일치하지 않는다는 것을 발견했으며 그 이유를 모르겠습니다. 그러나 JavaScript가 각 경우에서 어떻게 작동하는지 알고 싶습니다. Empty Array + Empty Array [] + [] result: JavaScript..

AngularJS를 사용하여 체크박스 값 목록에 바인딩 하는 방법

질문 : AngularJS를 사용하여 확인란 값 목록에 어떻게 바인딩합니까? 몇 가지 확인란이 있습니다. ['apple', 'pear'] 같이 선택된 모든 값의 목록을 유지하도록 컨트롤러의 목록에 바인딩하고 싶습니다. ng-model은 하나의 확인란 값을 컨트롤러의 변수에 바인딩 할 수있는 것 같습니다. 컨트롤러의 목록에 네 개의 확인란을 바인딩 할 수있는 다른 방법이 있습니까? 답변 이 문제에 접근하는 방법에는 두 가지가 있습니다. 간단한 배열 또는 개체 배열을 사용하십시오. 각 솔루션에는 장단점이 있습니다. 아래에서 각 사례에 대해 하나씩 찾을 수 있습니다. HTML은 다음과 같습니다. {{fruitName}} 적절한 컨트롤러 코드는 다음과 같습니다. app.controller('SimpleArray..

728x90
반응형