Đối tượng toàn cầu JavaScript

Các chi tiết của đối tượng Global trong JavaScript

JavaScript cung cấp mộtđối tượng toàn cầutrong đó có một tập hợp các thuộc tính, chức năng và đối tượng được truy cập toàn cục, không có vùng tên.

Các thuộc tính là:

  • Infinity
  • NaN
  • undefined

Các chức năng là:

  • decodeURI()
  • decodeURIComponent()
  • encodeURI()
  • encodeURIComponent()
  • eval()
  • isFinite()
  • isNaN()
  • parseFloat()
  • parseInt()

Đây là những đối tượng:

và lỗi:

  • Error
  • EvalError
  • RangeError
  • ReferenceError
  • SyntaxError
  • TypeError
  • URIError

Tôi mô tả lỗi về điều nàyTham chiếu lỗi JavaScriptbài đăng.

Bây giờ hãy mô tả ở đây các thuộc tính và chức năng toàn cục.

Infinity

Infinitytrong JavaScript là một giá trị đại diện chovô cực.

Vô cực dương. Để có được âm vô cực, hãy sử dụngnhà điều hành:-Infinity.

Chúng tương đương vớiNumber.POSITIVE_INFINITYNumber.NEGATIVE_INFINITY.

Thêm bất kỳ số nào vàoInfinityhoặc nhân lênInfinitycho bất kỳ số nào, vẫn choInfinity.

NaN

Toàn cầuNaNgiá trị là từ viết tắt củaNot a Number. Nó được trả về bởi các phép toán như số không chia cho số không, phép toán parseInt () không hợp lệ hoặc các phép toán khác.

parseInt()    //NaN
parseInt('a') //NaN
0/0           //NaN

Một điều đặc biệt cần xem xét làNaNgiá trị không bao giờ bằng một giá trị khácNaNgiá trị. Bạn phải sử dụngisNaN()chức năng toàn cục để kiểm tra xem một giá trị có đánh giá làNaN:

NaN === NaN //false
0/0 === NaN //false
isNaN(0/0)  //true

undefined

Toàn cầuundefinedtài sản giữ giá trị ban đầuundefined.

Chạy một hàm không chỉ định giá trị trả về sẽ trả vềundefined:

const test = () => {}
test() //undefined

không giốngNaN, chúng ta có thể so sánh mộtundefinedgiá trị vớiundefinedvà nhận được sự thật:

undefined === undefined

Việc sử dụngtypeoftoán tử để xác định xem một biến có phải là không xác định hay không:

if (typeof dog === 'undefined') {

}

decodeURI()

Thực hiện hoạt động ngược lại vớiencodeURI()

decodeURIComponent()

Thực hiện hoạt động ngược lại vớiencodeURIComponent()

encodeURI()

Hàm này được sử dụng để mã hóa một URL hoàn chỉnh. Nó mã hóa tất cả các ký tự thành các thực thể HTML của chúng ngoại trừ những ký tự có ý nghĩa đặc biệt trong cấu trúc URI, bao gồm tất cả các ký tự và chữ số, cộng với các ký tự đặc biệt đó:

[email protected]#{{content}}amp;*()=:/,;?+-_.

Thí dụ:

encodeURI("http://flaviocopes.com/ hey!/")
//"http://flaviocopes.com/%20hey!/"

encodeURIComponent()

Tương tự vớiencodeURI(),encodeURIComponent()có nghĩa là có một công việc khác.

Thay vì được sử dụng để mã hóa toàn bộ URI, nó mã hóa một phần của URI.

Nó mã hóa tất cả các ký tự thành các thực thể HTML của chúng ngoại trừ những ký tự có ý nghĩa đặc biệt trong cấu trúc URI, bao gồm tất cả các ký tự và chữ số, cộng với các ký tự đặc biệt đó:

-_.!~*'()

Thí dụ:

encodeURIComponent("http://www.example.org/a file with spaces.html")
// "http%3A%2F%2Fwww.example.org%2Fa%20file%20with%20spaces.html"

eval()

Đây là một hàm đặc biệt lấy một chuỗi có chứa mã JavaScript và đánh giá / chạy nó.

Chức năng này rất hiếm khi được sử dụng và vì một lý do: nó có thể nguy hiểm.

Tôi khuyên bạn nên đọcbài viết nàyVề chủ đề này.

isFinite()

Trả về true nếu giá trị được truyền dưới dạng tham số là hữu hạn.

isFinite(1)                        //true
isFinite(Number.POSITIVE_INFINITY) //false
isFinite(Infinity)                 //false

isNaN()

Trả về true nếu giá trị được truyền dưới dạng tham số được đánh giá làNaN.

isNaN(NaN)        //true
isNaN(Number.NaN) //true
isNaN('x')        //true
isNaN(2)          //false
isNaN(undefined)  //true

Chức năng này rất hữu ích vìNaNgiá trị không bao giờ bằng một giá trị khácNaNgiá trị. Bạn phải sử dụngisNaN()chức năng toàn cục để kiểm tra xem một giá trị có đánh giá làNaN:

0/0 === NaN //false
isNaN(0/0)  //true

parseFloat()

GiốngparseInt(),parseFloat()được sử dụng để chuyển đổi một giá trị chuỗi thành một số, nhưng vẫn giữ lại phần thập phân:

parseFloat('10,000', 10) //10     ❌
parseFloat('10.00', 10)  //10     ✅ (considered decimals, cut)
parseFloat('10.000', 10) //10     ✅ (considered decimals, cut)
parseFloat('10.20', 10)  //10.2   ✅ (considered decimals)
parseFloat('10.81', 10)  //10.81  ✅ (considered decimals)
parseFloat('10000', 10)  //10000  ✅

parseInt()

Hàm này được sử dụng để chuyển đổi một giá trị chuỗi thành một số.

Một giải pháp tốt khác cho số nguyên là gọiparseInt()chức năng:

const count = parseInt('1234', 10) //1234

Đừng quên tham số thứ hai, là cơ số, luôn là 10 cho số thập phân, nếu không quá trình chuyển đổi có thể cố gắng đoán cơ số và cho kết quả không mong muốn.

parseInt()cố gắng lấy một số từ một chuỗi không chỉ chứa một số:

parseInt('10 lions', 10) //10

nhưng nếu chuỗi không bắt đầu bằng một số, bạn sẽ nhận đượcNaN(Không phải là một con số):

parseInt("I'm 10", 10) //NaN

Ngoài ra, giống như Number, nó không đáng tin cậy với các dấu phân cách giữa các chữ số:

parseInt('10,000', 10) //10     ❌
parseInt('10.00', 10)  //10     ✅ (considered decimals, cut)
parseInt('10.000', 10) //10     ✅ (considered decimals, cut)
parseInt('10.20', 10)  //10     ✅ (considered decimals, cut)
parseInt('10.81', 10)  //10     ✅ (considered decimals, cut)
parseInt('10000', 10)  //10000  ✅

Tải xuống miễn phí của tôiSổ tay dành cho Người mới bắt đầu JavaScript


Các hướng dẫn js khác: