Helpex - Trao đổi & giúp đỡ Đăng nhập
157

Những từ khóa JavaScript nào (tên hàm, biến, v.v.) được bảo lưu?

157 hữu ích 1 bình luận 65k xem chia sẻ
109

Chúng ta nên liên kết với các nguồn thông tin thực tế, thay vì chỉ là lượt truy cập hàng đầu của google.

http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Reserved_emme

JScript 8.0: http://msdn.microsoft.com/en-us/l Library / ttyab5c8.aspx

109 hữu ích 0 bình luận chia sẻ
1454

Đây là bài thơ của tôi, bao gồm tất cả các từ khóa dành riêng trong JavaScript và dành riêng cho những người trung thực trong thời điểm này, và không chỉ cố gắng ghi điểm:

Let this long package float, 
Goto private class if short.
While protected with debugger case,  
Continue volatile interface.
Instanceof super synchronized throw, 
Extends final export throws.  

Try import double enum?  
- False, boolean, abstract function, 
Implements typeof transient break!
Void static, default do,  
Switch int native new. 
Else, delete null public var 
In return for const, true, char
…Finally catch byte.
1454 hữu ích 2 bình luận chia sẻ
60

Để bổ sung câu trả lời của benc , xem Tiêu chuẩn ECMA-262 . Đây là những từ dành riêng chính thức, nhưng chỉ có một người bán hàng bỏ qua việc thực hiện để tôn trọng tiêu chuẩn. Đối với các từ dành riêng của các triển khai phổ biến nhất, đó là firefox và internet explorer, xem câu trả lời của benc.

Các từ dành riêng trong EMCAScript-262 là Từ khóa s, Từ dành riêng trong tương lai , NullLiteralBooleanLiteral , trong đó Từ khóa

break     do        instanceof  typeof
case      else      new         var
catch     finally   return      void
continue  for       switch      while
debugger  function  this        with
default   if        throw
delete    in        try

các từ dành riêng trong tương lai

abstract  export      interface  static
boolean   extends     long       super
byte      final       native     synchronized
char      float       package    throws
class     goto        private    transient
const     implements  protected  volatile
double    import      public 
enum      int         short

các NullLiteral

null

và các BooleanLiteral

true
false
60 hữu ích 5 bình luận chia sẻ
20

Tôi mới đọc về điều này trong JavaScript & jQuery: Hướng dẫn thiếu :

Không phải tất cả các từ dành riêng này sẽ gây ra sự cố trong tất cả các trình duyệt, nhưng tốt nhất là tránh xa các tên này khi đặt tên biến.

Từ khóa JavaScript : break, case, catch, continue, debugger, default, delete, do, else, false, finally, for, function, if, in, instanceof, new, null, return, switch, this, throw, true, try, typeof, var, void, while, with .

Dành cho sử dụng trong tương lai : abstract, boolean, byte, char, class, const, double, enum, export, extends, final, float, goto, implements, import, int, interface, let, long, native, package, private, protected, public, short, static, super, synchronized, throws, transient, volatile, yield .

Các biến toàn cục được xác định trước trong trình duyệt : alert, blur, closed, document, focus, frames, history, innerHeight, innerWidth, length, location, navigator, open, outerHeight, outerWidth, parent, screen, screenX, screenY, statusbar, window .

20 hữu ích 3 bình luận chia sẻ
5

Dưới đây là một cách bất khả tri về trình duyệt và phiên bản ngôn ngữ để xác định xem một chuỗi cụ thể có được xử lý như một từ khóa của công cụ JavaScript hay không. Tín dụng cho câu trả lời này cung cấp cốt lõi của giải pháp.

function isReservedKeyword(wordToCheck) {
    var reservedWord = false;
    if (/^[a-z]+$/.test(wordToCheck)) {
        try {
            eval('var ' + wordToCheck + ' = 1');
        } catch (error) {
            reservedWord = true;
        }
    }
    return reservedWord;
}
5 hữu ích 2 bình luận chia sẻ
3

Không có câu trả lời nào hiện tại cảnh báo rằng bất kể ES-Dialect, các trình duyệt có xu hướng có danh sách từ khóa dành riêng, phương thức, v.v. trên đầu trang của ES.

Ví dụ: IE9 cấm sử dụng các tên logic như : addFilter, removeFilter(chúng, trong số các phương thức khác, là các phương thức dành riêng).

Xem http://www.jabcreations.com/blog/iNET-explorer-9 để biết danh sách 'hiện được biết đến' rộng rãi hơn dành riêng cho IE9. Tôi chưa tìm thấy bất kỳ tài liệu tham khảo chính thức nào cho họ trên msdn (hoặc ở nơi khác).

3 hữu ích 0 bình luận chia sẻ
1

Đây là danh sách từ cuốn sách Eloquent JavaScript:

  • break
  • case
  • catch
  • class
  • const
  • continue
  • debugger
  • default
  • delete
  • do
  • else
  • enum
  • export
  • extend
  • false
  • finally
  • for
  • function
  • if
  • implements
  • import
  • in
  • instanceof
  • interface
  • let
  • new
  • null
  • package
  • private
  • protected
  • public
  • return
  • static
  • super
  • switch
  • this
  • throw
  • true
  • try
  • typeof
  • var
  • void
  • while
  • with
  • yield
1 hữu ích 0 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ javascript reserved-words , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading