Bạn đang xem : chế độ nghiêm ngặt trong javascript

JavaScript

Sử dụng nghiêm ngặt

"use precision"; Xác định điều đó
Mã JavaScript phải được thực thi trong
“chế độ nghiêm ngặt”.

Chỉ thị “sử dụng nghiêm ngặt”

Chỉ thị "use precision" mới có trong ECMAScript phiên bản 5.

Nó không phải là một câu lệnh, mà là một biểu thức chữ, bị các phiên bản trước đó bỏ qua
của JavaScript.

Mục đích của "use precision" là để chỉ ra rằng mã phải được thực thi ở “chế độ nghiêm ngặt”.

Ví dụ: với chế độ nghiêm ngặt, bạn không thể sử dụng các biến chưa được khai báo.

Tất cả các trình duyệt hiện đại đều hỗ trợ “sử dụng nghiêm ngặt” ngoại trừ Internet Explorer 9 trở xuống:

Chỉ thị

“Sử dụng nghiêm ngặt”
13.0
10.0
4.0
6.0
12.1

Các số trong bảng chỉ định phiên bản trình duyệt đầu tiên hỗ trợ đầy đủ lệnh.

Bạn có thể sử dụng chế độ nghiêm ngặt trong tất cả các chương trình của mình. Nó giúp bạn viết mã rõ ràng hơn,
như ngăn bạn sử dụng các biến không được khai báo.

"use precision" chỉ là một chuỗi, vì vậy IE 9 sẽ không gặp lỗi ngay cả khi nó không hiểu.

Khai báo chế độ nghiêm ngặt

Chế độ nghiêm ngặt được khai báo bằng cách thêm “sử dụng nghiêm ngặt”; đến đầu của một
script hoặc một hàm.

Được khai báo ở đầu tập lệnh, nó có phạm vi toàn cầu (tất cả mã
trong tập lệnh sẽ thực thi ở chế độ nghiêm ngặt):

Ví dụ

“sử dụng nghiêm ngặt”;
x = 3,14; // Điều này sẽ gây ra lỗi
vì x không được khai báo

Hãy tự mình thử »

Ví dụ

“sử dụng nghiêm ngặt”;
myFunction ();

hàm myFunction () {
y = 3,14; // Điều này cũng sẽ gây ra lỗi
vì y không được khai báo
}

Hãy tự mình thử »

Được khai báo bên trong một hàm, nó có phạm vi cục bộ (chỉ mã bên trong hàm là
ở chế độ nghiêm ngặt):

x = 3,14; // Điều này sẽ không gây ra lỗi.
Hàm
myFunction ();

myFunction () {
“sử dụng nghiêm ngặt”;
y = 3,14; // Điều này sẽ gây ra lỗi
}

Hãy tự mình thử »

“Sử dụng nghiêm ngặt”; Cú pháp

Cú pháp, để khai báo chế độ nghiêm ngặt, được thiết kế để tương thích với
các phiên bản JavaScript cũ hơn.

Biên dịch một ký tự số (4 + 5;) hoặc một ký tự chuỗi (“John Doe”;) trong một
Chương trình JavaScript không có tác dụng phụ. Nó chỉ đơn giản là biên dịch thành không tồn tại
biến và chết.

Xem Thêm  Mô-đun hệ thống tệp Node.js - ví dụ về writefile của node fs

Vì vậy, "use precision"; chỉ quan trọng đối với các trình biên dịch mới “hiểu” ý nghĩa
của nó.

Tại sao lại có Chế độ nghiêm ngặt?

Chế độ nghiêm ngặt giúp viết JavaScript “an toàn” dễ dàng hơn.

Chế độ nghiêm ngặt thay đổi “cú pháp sai” được chấp nhận trước đây thành lỗi thực sự.

Ví dụ: trong JavaScript thông thường, việc nhập sai tên biến sẽ tạo ra một
biến toàn cục. Ở chế độ nghiêm ngặt, điều này sẽ gây ra lỗi, khiến nó không thể
vô tình tạo ra một biến toàn cục.

Trong JavaScript thông thường, nhà phát triển sẽ không nhận được bất kỳ phản hồi lỗi nào
gán giá trị cho các thuộc tính không thể ghi.

Ở chế độ nghiêm ngặt, mọi chuyển nhượng cho thuộc tính không thể ghi, chỉ dành cho người nhận
thuộc tính, thuộc tính không tồn tại, biến không tồn tại hoặc không tồn tại
đối tượng, sẽ tạo ra một lỗi.

Không được phép ở Chế độ nghiêm ngặt

Không được phép sử dụng một biến mà không khai báo nó:

“sử dụng nghiêm ngặt”;
x = 3,14; // Điều này sẽ gây ra lỗi

Hãy tự mình thử »

Đối tượng cũng là các biến.

Không được phép sử dụng một đối tượng mà không khai báo nó:

“sử dụng nghiêm ngặt”;
x = {p1: 10, p2: 20}; // Điều này sẽ gây ra lỗi

Hãy tự mình thử »

Không được phép xóa một biến (hoặc đối tượng).

“sử dụng nghiêm ngặt”;
let x = 3,14;
xóa x; // Đây
sẽ gây ra lỗi

Hãy tự mình thử »

Không được phép xóa một chức năng.

“sử dụng nghiêm ngặt”;
function x (p1, p2) {};
xóa x;
// Điều này sẽ gây ra lỗi

Hãy tự mình thử »

Không được phép sao chép tên thông số:

“sử dụng nghiêm ngặt”;
function x (p1, p1) {}; // Điều này sẽ gây ra lỗi

Hãy tự mình thử »

Các ký tự số bát phân không được phép:

“sử dụng nghiêm ngặt”;
let x = 010; // Đây
sẽ gây ra lỗi

Hãy tự mình thử »

Các ký tự thoát hệ bát phân không được phép:

“sử dụng nghiêm ngặt”;
cho x = “\ 010”; // Điều này sẽ gây ra lỗi

Xem Thêm  Yêu cầu GET và POST bằng Python - yêu cầu python nhận đối số

Hãy tự mình thử »

Không được phép ghi vào thuộc tính chỉ đọc:

“sử dụng nghiêm ngặt”;
const obj = {};
Object.defineProperty (obj, “x”, {value: 0, writeable: false});

obj.x = 3,14; // Đây
sẽ gây ra lỗi

Hãy tự mình thử »

Không được phép ghi vào thuộc tính chỉ nhận:

“sử dụng nghiêm ngặt”;
const obj = {get x ()
{return 0}};

obj.x = 3,14; // Đây
sẽ gây ra lỗi

Hãy tự mình thử »

Không được phép xóa thuộc tính không thể xóa:

“sử dụng nghiêm ngặt”;
xóa Object.prototype; // Điều này sẽ gây ra lỗi

Hãy tự mình thử »

Không thể sử dụng từ eval làm biến:

“sử dụng nghiêm ngặt”;
let eval = 3.14; // Điều này sẽ gây ra lỗi

Hãy tự mình thử »

Không thể sử dụng từ đối số làm biến:

“sử dụng nghiêm ngặt”;
let objects = 3,14; // Điều này sẽ gây ra lỗi

Hãy tự mình thử »

Không cho phép câu lệnh :

“sử dụng nghiêm ngặt”;
with (Math) {x = cos (2)}; // Điều này sẽ gây ra lỗi

Hãy tự mình thử »

Vì lý do bảo mật, eval () không được phép tạo
các biến trong phạm vi mà từ đó nó được gọi là:

“sử dụng nghiêm ngặt”;
eval (“let x = 2”);
alert (x); // Đây
sẽ gây ra lỗi

Hãy tự mình thử »

Từ khóa this trong các hàm hoạt động
khác nhau ở chế độ nghiêm ngặt.

Từ khóa this đề cập đến đối tượng
được gọi là hàm.

Nếu đối tượng không được chỉ định, hoạt động ở chế độ nghiêm ngặt
sẽ trả về undefined và các chức năng như bình thường
chế độ sẽ trả về đối tượng toàn cục (cửa sổ):

“sử dụng nghiêm ngặt”;
function myFunction () {
cảnh báo (cái này); // sẽ cảnh báo “undefined”
}
myFunction ();

Hãy tự mình thử »

Bằng chứng trong tương lai!

Các từ khóa dành riêng cho các phiên bản JavaScript trong tương lai KHÔNG được sử dụng làm biến
tên ở chế độ nghiêm ngặt.

Đó là:

  • nông cụ
  • giao diện
  • để
  • gói
  • riêng tư
  • được bảo vệ
  • công khai
  • tĩnh
  • năng suất

“sử dụng nghiêm ngặt”;
let public = 1500; // Điều này sẽ gây ra lỗi

Hãy tự mình thử »

Chú ý!

Chỉ thị “sử dụng nghiêm ngặt” chỉ được nhận dạng ở phần đầu của tập lệnh
hoặc một chức năng.


Xem thêm những thông tin liên quan đến chủ đề chế độ nghiêm ngặt trong javascript

Using JavaScript Strict Mode

  • Tác giả: Steve Griffith – Prof3ssorSt3v3
  • Ngày đăng: 2019-08-02
  • Đánh giá: 4 ⭐ ( 6420 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: This tutorial explains the difference between strict mode and sloppy mode in your scripts.

    With the command “use strict” at the top of your file you can protect yourself from common typos and errors.

    Starter Code GIST: https://gist.github.com/prof3ssorSt3v3/52bbaebf53ae04ed513fb82559bdb7f4

[Tự học Javascript] Chế độ hiện đại, “sử dụng nghiêm ngặt”(use strict) trong Javascript

  • Tác giả: cafedev.vn
  • Đánh giá: 4 ⭐ ( 3065 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong một thời gian dài, JavaScript phát triển mà không có vấn đề tương thích. Các tính năng mới đã được thêm vào ngôn ngữ trong khi chức năng cũ không thay đổi.

Những gì người dùng sử dụng nghiêm ngặt, làm gì trong JavaScript, và lý do đằng sau nó là gì?

  • Tác giả: qastack.vn
  • Đánh giá: 4 ⭐ ( 1000 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Bài viết này về Chế độ nghiêm ngặt Javascript có thể khiến bạn quan tâm: John…

Chế độ nghiêm ngặt của JavaScript

  • Tác giả: helpex.vn
  • Đánh giá: 3 ⭐ ( 8449 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Phiên bản thứ năm của đặc tả ECMAScript đã giới thiệu Chế độ nghiêm ngặt. Chế độ nghiêm ngặt áp đặt một lớp ràng buộc đối với JavaScript – nhằm bảo vệ bạn khỏi các khía cạnh nguy hiểm hơn…

Chế độ nghiêm ngặt của JavaScript

  • Tác giả: tech-wiki.online
  • Đánh giá: 3 ⭐ ( 1506 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Cách sử dụng use strict trong JavaScript

  • Tác giả: vi-magento.com
  • Đánh giá: 3 ⭐ ( 7472 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Đôi khi các bạn sẽ thấy một số file JavaScript có từ khóa “use strict” nhưng không biết nó là gì. Trong bài viết này hãy cùng mình tìm hiểu về use strict trong JavaScript nhé.

Cách dùng use strict trong javascript (chế độ strict mode)

  • Tác giả: freetuts.net
  • Đánh giá: 5 ⭐ ( 8706 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tìm hiểu use strict trong js, từ khóa khai báo sử dụng chế độ strict mode, nếu muốn sử dụng chế độ strict mode ở đâu thì đặt từ khóa use strict ở đó.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Cách sử dụng bộ nhớ cục bộ với JavaScript - lưu javascript vào bộ nhớ cục bộ

By ads_php