2012-03-05 65 views
10

Tôi tìm thấy điều này trong một đoạn mã và tôi tự hỏi nó làm gì? Gán b cho x ... nhưng có gì với số ,c?Dấu phẩy làm gì trong câu lệnh gán trong JavaScript?

var x = b, c; 
+0

bản sao có thể có của [\ 'x = y, z \' gán dấu phẩy trong JavaScript] (http://stackoverflow.com/questions/12769922/xyz-comma-assignment-in-javascript) –

Trả lời

15

Đó tuyên bố hai biến, xc, và gán giá trị b để biến x.

này tương đương với hình thức rõ ràng hơn *:

var x = b; 
var c; 

JavaScript cho phép nhiều tờ khai mỗi var từ khóa – mỗi biến mới được phân cách bằng dấu phẩy. Đây là kiểu được đề xuất bởi JSLint, hướng dẫn các nhà phát triển sử dụng một var duy nhất cho mỗi hàm (thông báo lỗi từ JSLint là Combine this with the previous 'var' statement.).

* Thực ra, do cẩu nó sẽ được hiểu là var x; var c; x = b.

+0

ahhh có được, làm cho giác quan. – capdragon

+3

Một cú pháp tương tự thường được nhìn thấy trong các vòng lặp lớn: 'cho (var i = 0, l = mảng.length; i

+4

Đó thực sự không phải là toán tử dấu phẩy, chắc chắn? Đó là một tuyên bố của nhiều biến. – stusmith

5

Đó định nghĩa hai biến cục bộ xc - trong khi thiết x 's giá trị tương đương với giá trị của b.

5

cundefined.

Đây là tương đương:

var x = b; 
var c; 
3

Nó giống như

var x = b; 
var c; 

Một trong những người như vậy thông minh đó là bổ sung cực kỳ ngu ngốc đến một ngôn ngữ.

+0

+1 cho: "rất thông minh, nó cực kỳ ngu ngốc" – Teddy

Các vấn đề liên quan