> 웹 프론트엔드 > JS 튜토리얼 > 자바스크립트에서 엄격 모드를 어떻게 사용하나요? 사용예

자바스크립트에서 엄격 모드를 어떻게 사용하나요? 사용예

青灯夜游
풀어 주다: 2018-11-20 09:29:17
원래의
2961명이 탐색했습니다.

자바스크립트에서 엄격 모드를 어떻게 사용하나요? 이 기사에서는 JavaScript의 엄격 모드가 무엇을 의미하는지 간략하게 소개합니다. 사용하는 방법? 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

엄격 모드는 무엇을 의미하나요? 무슨 소용이 있나요?

Strict 모드는 프로그램이나 함수를 "엄격한" 운영 컨텍스트에 넣을 수 있는 ECMAScript 5의 새로운 기능입니다. 이러한 엄격한 컨텍스트로 인해 특정 작업이 수행되지 않고 추가 예외가 발생하는 것이 방지됩니다.

간단하고 안전한 JavaScript 기능 세트인 엄격 모드를 사용하도록 브라우저에 지시하려면 “use strict”를 선언해야 합니다.

엄격 모드 사용의 이점: 일반 JavaScript 의미 체계가 일부 변경되었습니다.

1. 엄격 모드는 오류를 발생시키도록 변경하여 일부 JavaScript 자동 오류를 제거합니다.

2. 엄격 모드는 JavaScript 엔진이 최적화를 수행하기 어렵게 만드는 버그를 수정합니다. 엄격 모드 코드는 때때로 비엄격 모드의 동일한 코드보다 빠르게 실행될 수 있습니다.

3. 엄격 모드는 ECMAScript의 향후 버전에서 특정 구문이 정의되는 것을 금지합니다.

4. 상대적으로 "안전하지 않은" 작업(예: 전역 개체에 대한 액세스 권한 획득)을 수행할 때 오류가 발생하거나 차단됩니다.

5. 혼란스럽거나 잘못 생각한 기능을 비활성화합니다.

6. 엄격 모드를 사용하면 "안전한" JavaScript 코드를 더 쉽게 작성할 수 있습니다.

엄격 모드를 사용하는 방법은 무엇입니까?

엄격 모드는 두 가지 방법으로 사용할 수 있습니다. 전체 스크립트에서 전역적으로 사용하거나 단일 함수에 적용할 수 있습니다.

참고: 엄격 모드는 {} 대괄호 안의 블록 문에는 적용되지 않습니다.

전체 스크립트의 전역 범위에서

을 사용하여 엄격 모드를 호출하려면 다른 문 앞에 'use strict'(또는 'use strict';)라는 정확한 문을 입력하세요.

//全脚本严格模式语法

"use strict";
var v ="严格模式脚本!";
로그인 후 복사

참고: 이 구문에는 흐름이 있습니다. 충돌하지 않는 스크립트는 맹목적으로 연결할 수 없습니다. 엄격 모드 스크립트를 비엄격 모드 스크립트와 연결하는 것을 고려해보세요. 전체 연결이 엄격해 보입니다! 반대의 경우도 마찬가지입니다. 엄격하지 않음과 엄격함을 더하면 엄격하지 않게 보입니다. 엄격 모드 스크립트는 서로 잘 연결되고, 비엄격 모드 스크립트는 서로 잘 연결됩니다. 엄격한 스크립트와 엄격하지 않은 스크립트를 연결하는 것만으로는 문제가 됩니다. 따라서 기능별로(적어도 전환 기간 동안) 엄격 모드를 활성화하는 것이 좋습니다.

함수 호출에 엄격 모드 사용

함수에서 엄격 모드를 호출하려면 다른 문보다 먼저 함수 본문에서 정확한 문을 "use strict"(또는 'use strict';)로 설정하세요.

function strict(){

  //功能级严格模式语法
  "use strict";

  function nested(){
     return '在Javascript中'; 
  }

  return "严格模式函数!"+ nested();
}
function notStrict(){ 
 return "非严格模式"; 
}
로그인 후 복사

엄격 모드 사용 예:

1. 일반 JavaScript에서는 변수 이름을 잘못 입력하면 새로운 전역 변수가 생성됩니다. 엄격 모드에서는 오류가 발생하며 전역 변수는 실수로 생성될 수 없습니다. 2. 엄격 모드를 사용하면 변수를 선언하지 않고 사용할 수 없습니다. 3. 객체도 변수입니다. 엄격 모드를 사용하면 객체를 선언하지 않고 사용할 수 없습니다.

//不允许使用变量而不声明它:
"use strict";
x = 3.14; //这会导致错误
로그인 후 복사

4. 변수(또는 객체) 및 함수를 삭제할 수 없으며, 함수를 삭제할 수도 없습니다.

//不允许使用对象而不声明它:
"use strict"
x = {p1:10,p2:20}; //这会导致错误
로그인 후 복사

5. 매개변수 이름 복사

"use strict";
//不允许删除变量(或对象)和函数
var x = 3.14;
delete x; //这会导致错误

//也不允许删除功能
function x(p1,p2){}; 
delete x; //这会导致错误
로그인 후 복사

6, 8진수 숫자 리터럴은 허용되지 않습니다.

“严格使用”;
函数x(p1,p1){}; //这会导致错误
로그인 후 복사

7. 이스케이프 문자는 허용되지 않습니다.

"use strict";
var x = 010; //这会导致错误
로그인 후 복사

8 읽기 전용 속성은 쓸 수 없습니다.

"use strict";
var x = \ 010; //这会导致错误
로그인 후 복사

9. 쓰기 허용

"use strict";
var obj = {};
Object.defineProperty(obj,“x”,{
   value:0,writable:false
});
   obj.x = 3.14; //这会导致错误
로그인 후 복사

10. 삭제 불가 속성

"use strict";
var obj = {
   get x(){return 0}
};
obj.x = 3.14; //这会导致错误
로그인 후 복사

11. "eval" 문자열은 변수로 사용할 수 없습니다

"use strict";
delete Object.prototype; //这会导致错误
로그인 후 복사

12. "arguments" 문자열은 변수로 사용할 수 없습니다. 13. with 문은 허용되지 않습니다

"use strict";
var eval = 3.14; //这会导致错误
로그인 후 복사

14. 보안상의 이유로 eval()이 호출된 범위에서는 변수를 생성할 수 없기 때문입니다

"use strict";
var arguments = 3.14; //这会导致错误
로그인 후 복사

요약: 위 내용이 이 글의 전체 내용입니다. , 모든 사람의 학습에 도움이 되기를 바랍니다. 더 많은 관련 비디오 튜토리얼을 보려면

JavaScript Tutorial

을 방문하세요!

위 내용은 자바스크립트에서 엄격 모드를 어떻게 사용하나요? 사용예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿