Sử dụng javascript nghiêm ngặt

Nhãn. Usestrict la tu khai bao khi ban su dung che do Strict Mode Ban se duoc tim hieu che do su dung che do Strict Mode thong qua nhung vi du cu the nhat. Hướng dẫn học Javascript , Học Javascript trực tuyến , Tự học Javascript , Video hướng dẫn học Javascript , download tài liệu học Javascript , học Javascript mien phi , học Javascript online , học Javascript trực tuyến , học Javascript có bản , học Javascript năng cao ,

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ã sạch hơn, chẳng hạn như ngăn bạn sử dụng các biến không được khai báo

"use strict" chỉ là một chuỗi nên IE 9 sẽ không báo lỗi ngay cả khi nó không hiểu nó

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";

Đượ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]

Thí dụ

"sử dụng nghiêm ngặt";
x = 3. 14;

Tự mình thử »

Thí dụ

"sử dụng nghiêm ngặt";
myFunction[];

function myFunction[] {
  y = 3. 14;
}

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 ở chế độ nghiêm ngặt]

x = 3. 14; .
myFunction[];

function myFunction[] {
  "dùng nghiêm ngặt";
  y = 3. 14;
}

Tự mình thử »

"Sử dụng nghiêm ngặt";

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 chữ số [4 + 5;] hoặc một chuỗi ký tự ["John Doe";] trong 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 một biến không tồn tại và chết

Vì vậy, "use strict"; 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 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 đó thành lỗi thực

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

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

Ở chế độ nghiêm ngặt, mọi phép gán cho thuộc tính không thể ghi, thuộc tính chỉ getter, thuộc tính không tồn tại, biến không tồn tại hoặc đối tượng không tồn tại sẽ gây ra lỗi

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

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

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

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

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

"dùng nghiêm ngặt";
hãy để x = 3. 14;
xóa x;

Tự mình thử »

Xóa một chức năng không được phép

"dùng nghiêm ngặt";
hàm x[p1, p2] {};
xóa x;

Tự mình thử »

Sao chép tên tham số không được phép

Chữ số bát phân không được phép

Ký tự thoát bát phân không được phép

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

"sử dụng nghiêm ngặt";
const obj = {};
Đối tượng. defineProperty[obj, "x", {giá trị. 0, có thể ghi. sai}];

đối tượng. x = 3. 14;

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} };

đối tượng. x = 3. 14;

Tự mình thử »

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

Từ eval không thể được sử dụng như một biến

Từ arguments không thể được sử dụng như một biến

Tuyên bố with không được phép

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

Ở chế độ nghiêm ngặt, một biến không thể được sử dụng trước khi nó được khai báo

"sử dụng nghiêm ngặt";
eval ["x = 2"];
alert [x];

Tự mình thử »

Ở chế độ nghiêm ngặt, eval[] không thể khai báo biến bằng từ khóa var

"sử dụng nghiêm ngặt";
eval ["var x = 2"];
alert [x];

Tự mình thử »

eval[] không thể khai báo biến bằng từ khóa let

eval["let x = 2"];
alert [x];

Tự mình thử »

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

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

Nếu đối tượng không được chỉ định, các hàm ở chế độ nghiêm ngặt sẽ trả về "use strict"1 và các hàm ở chế độ bình thường sẽ trả về đối tượng chung [cửa sổ]

Chủ Đề