SORU
18 Kasım 2009, ÇARŞAMBA


Birden fazla sol JavaScript ile atama

var var1 = 1,
    var2 = 1,
    var3 = 1;

Bu da eşittir:

var var1 = var2 = var3 = 1;

Bu değişkenler tanımlanır emri olduğuna oldukça eminim: eşdeğer olacaktır var3, var2, var1:

var var3 = 1, var2 = var3, var1 = var2;

JavaScript ile bu onaylamak için herhangi bir yolu var mı? Bazı profiler muhtemelen.

CEVAP
18 Kasım 2009, ÇARŞAMBA


Aslında

var var1 = 1, var2 = 1, var3 = 1;

değileşdeğer:

var var1 = var2 = var3 = 1;

Fark kapsamda

function good() {
  var var1 = 1, var2 = 1, var3 = 1;
}

function bad() {
  var var1 = var2 = var3 = 1;
}

good();
alert(window.var2); // undefined

bad();
alert(window.var2); // 1. Aggh!

Aslında bu atama doğru ilişkili olduğunu gösterir. bad örnek eşdeğerdir:

var var1 = (window.var2 = (window.var3 = 1));

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Anthony Cumia

    Anthony Cumi

    5 EYLÜL 2006
  • Manuel Vizcaino

    Manuel Vizca

    27 Mayıs 2008
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008