2011-08-16 34 views
9

thể trùng lặp:
Difference between using var and not using var in JavaScript
Should I use window.variable or var?Window vs Var để khai báo biến

Tôi đã thấy hai cách để khai báo một lớp trong javascript.

như

window.ABC = .... 

hoặc

var ABC = .... 

Có sự khác biệt về cách sử dụng các lớp/biến?

+0

Không có lớp học trong JavaScript. Bạn chỉ đang khai báo một biến. Vui lòng cung cấp thêm một số thông tin. –

+0

Cảm ơn mọi người! –

Trả lời

16

window.ABC phạm vi biến ABC để phạm vi cửa sổ (có hiệu quả toàn cầu.)

var ABC phạm vi biến ABC để bất cứ chức năng biến ABC nằm trong.

3

window biến biến toàn cục thành cửa sổ. Trừ khi bạn có lý do để làm khác, hãy khai báo các biến với var.

9

var tạo biến cho phạm vi hiện tại. Vì vậy, nếu bạn làm điều đó trong một hàm, nó sẽ không thể truy cập được bên ngoài nó.

function foo() { 
    var a = "bar"; 
    window.b = "bar"; 
} 

foo(); 
alert(typeof a); //undefined 
alert(typeof b); //string 
alert(this == window); //true 
4

Nếu bạn ở ngoài của một hàm khai báo biến, họ là tương đương.

2

Sự khác biệt chính là dữ liệu của bạn hiện được gắn với đối tượng cửa sổ thay vì chỉ tồn tại trong bộ nhớ. Nếu không, nó là như nhau.