2015-05-05 27 views

cevap

21

tarafı katı modda izin verilmez ki bu yüzden var x = y = 14; için etkiler. Yani, y genel bir değişken olur. Eğer

var x = y = 14; 

derken

O x yerel değişken olarak bildirilmiş ve y global değişken olarak yaratılır

var x; 
y = 14; 
x = y; 

eşdeğerdir.

Değişkenleri bildirmek için var kullanımına ilişkin daha fazla bilgi için bkz. this question. Ek olarak, ES6'nın var ile var olan işlev düzeyi kapsamının tersine blok düzeyinde kapsamlamayı sağlayan the keyword let'u getirdiğini de belirtmek gerekir. bildirimleri ve atamaları karışmaz - her iki değişkenler bir değer atamak isterseniz

Son olarak, aşağıdakilerden herhangi

var x, y; 
x = y = 14; 

var x = 14, 
    y = x; 

var x = 14, 
    y = 14; 

var x = 14; 
var y = 14; 
+0

yapar. Son örnek hala 'y' global yapar, değil mi? –

+0

Aslında, "var x = y = 14;", y = 14; var x = 14; Ama sanırım sipariş çok önemli değil. Bu durumda. –

+0

Siz haklısınız. Teşekkürler @FelixKling. Cevabınızı düzeltmenizi yansıtacak şekilde düzenledim. – sfletche

7

yup yapardı.

var x, y; 
x = y = 14;