欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js 作用域和變量詳解

 更新時(shí)間:2017年02月16日 15:35:20   作者:summer_88  
本文主要介紹了js 的作用域和變量的相關(guān)知識(shí),具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧

一、說(shuō)起變量的提升呢,首先我們先看一段簡(jiǎn)單的代碼

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <script>
  var v = 'hello world';
  alert(v);
 </script>
</body>
</html>

以上代碼執(zhí)行的結(jié)果是hello world

然后在看一段代碼:

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <script>
  var v='Hello World';
  (function(){
   alert(v);
  })();
 </script>
</body>
</html>

執(zhí)行的結(jié)果和第一段代碼一樣hello world

好了,接下來(lái)在看這段代碼:

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <script>
  var v='Hello World';
  (function(){
   alert(v);
   var v='I love you';
   alert(v);
  })();
 </script>
</body>
</html>

以上代碼執(zhí)行的結(jié)果: 第一個(gè)彈出的是undefined;第二個(gè)結(jié)果是I love you。為什么會(huì)有這樣的結(jié)果呢?

這就跟剛開(kāi)始提到的變量提升有關(guān)系哦~~~下面我們來(lái)做下總結(jié):

最后一段代碼展現(xiàn)了2個(gè)知識(shí)點(diǎn):

1、變量提升

2、作用域鏈

首先來(lái)說(shuō)作用域鏈,js訪問(wèn)一個(gè)變量時(shí)會(huì)優(yōu)先在該作用域內(nèi)(訪問(wèn)時(shí)的那個(gè)作用域)尋找是否聲明過(guò)這個(gè)變量,如果該變量已經(jīng)存在,則直接使用它的值,否則會(huì)尋找該作用域的‘父作用域/上級(jí)作用域',依次類推,直到找到全局作用域?yàn)橹埂?/p>

關(guān)于變量提升是指:js在解析的時(shí)候總是會(huì)將var,function這類關(guān)鍵詞的聲明語(yǔ)句提升至作用域的最頂部(注意:這里只會(huì)提升聲明的部分,賦值不會(huì)被提升)

所以,由此看來(lái),上述的那段代碼就等于:

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <script>
  var v='Hello World';
  (function () {
   var v; //先將該作用域下的變量提升,但沒(méi)有賦值
   alert(v); //所以此時(shí)是undefined
   var v='I love you';
   alert(v); //I love you
  })();
 </script>
</body>
</html>

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • js函數(shù)返回多個(gè)返回值的示例代碼

    js函數(shù)返回多個(gè)返回值的示例代碼

    js函數(shù)一般都是返回一個(gè)值,在本例教程中將為大家介紹下如何返回多個(gè)返回值,喜歡的朋友可以了解下
    2013-11-11
  • Bootstrap Tooltip顯示換行和左對(duì)齊的解決方案

    Bootstrap Tooltip顯示換行和左對(duì)齊的解決方案

    小編在使用Bootstrap的Tooltip功能時(shí)遇到一些小問(wèn)題,換行丟失,文字不是左對(duì)齊。下面小編給大家介紹下Bootstrap Tooltip顯示換行和左對(duì)齊的解決方案,感興趣的朋友一起看看吧
    2017-10-10
  • ES6 更易于繼承的類語(yǔ)法的使用

    ES6 更易于繼承的類語(yǔ)法的使用

    這篇文章主要介紹了ES6 更易于繼承的類語(yǔ)法的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • 最新評(píng)論