鍍金池/ 問答/HTML/ 在全局下qqq:'sssssss'這樣鍵值對的寫法是起到什么作用。

在全局下qqq:'sssssss'這樣鍵值對的寫法是起到什么作用。

<script type="text/javascript">
    qqq:'sssssss';
    console.log(this.qqq);    //undefined
    console.log(window.qqq);  //undefined
    console.log(qqq);         //qqq is not defined
</script>

像這樣在全局下使用鍵值對的寫法,qqq是個什么東西,我一開始以為是像對象一樣,掛在在window下的屬性,可是并不是這樣。undefined是發(fā)現(xiàn)沒qqq,自動創(chuàng)建的,直接輸出qqq是顯示我沒聲明

也以為過是類似switch判斷條件,如下:

var qqq = false;
qqq : console.log("2222");

結(jié)果console.log的輸出是不關(guān)qqq的值的事,console.log始終輸出。

問題就是在全局下qqq:'sssssss'這樣的寫法是起到什么作用。因為沒有報錯,就不知道這樣的寫的作用是什么。

回答
編輯回答
純妹

js有這樣的語法么?搞笑哦 創(chuàng)建一個對象 var obj = {a:'123',b:'234'} 正常不是這樣么?

2017年9月3日 16:29
編輯回答
檸檬藍

label語句吧,沒用過

2017年12月22日 10:34
編輯回答
疚幼

同對這個有過問題,解了疑惑,可以私聊

2018年6月28日 10:39
編輯回答
遲月

特意搜索了下,這是“Labeled 語句”,一般用在for循環(huán)中,我也沒用過。給出的例子大概看了下:

var i, j;

loop1:
for (i = 0; i < 3; i++) {      //The first for statement is labeled "loop1"
   loop2:
   for (j = 0; j < 3; j++) {   //The second for statement is labeled "loop2"
      if (i == 1 && j == 1) {
         continue loop1; // 重點在這個地方,如果直接使用 contiune 只是跳出內(nèi)部的循環(huán)
      }
      console.log("i = " + i + ", j = " + j);
   }
}

// Output is:
//   "i = 0, j = 0"
//   "i = 0, j = 1"
//   "i = 0, j = 2"
//   "i = 1, j = 0"
//   "i = 2, j = 0"
//   "i = 2, j = 1"
//   "i = 2, j = 2"
// Notice how it skips both "i = 1, j = 1" and "i = 1, j = 2"

參考

2018年7月18日 13:21