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

javascript作用域、作用域鏈(菜鳥必看)

 更新時間:2016年06月16日 09:06:04   投稿:jingxian  
下面小編就為大家?guī)硪黄猨avascript作用域、作用域鏈(菜鳥必看)。小編覺得 挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

javascript的作用域和作用域鏈?zhǔn)俏覍W(xué)習(xí)最痛苦的一部分,因為我花了好多時間看了好多技術(shù)文檔都沒有理解.大體知道什么意思了,然后還說不出之所以然來.

通過我大量的測試和看技術(shù)文檔總結(jié)了以下理解,雖然不是很有技術(shù)范但是確實能理解了。

1、javascript只有全局和局部之分,那些后臺語言的各種修飾符都沒有。在函數(shù)中不使用var則為全局。如下:

<script type="text/javascript"> 

varname="c#";//全局

window.name="java";//全局 

varlanguage=function() 

{ 

alert(name); 

name="javascript";//全局 

var name="JS";//局部 

alert(name); 

}() 

  

alert(name); 

</script> 

上面代碼中表示為全局的在都指向同一個變量,下面的定義會替換上面的。關(guān)于三個alert分別是underfind,js,javascript.這就是作用域起了作用了。

2、作用域鏈從0級開始依次往下排,所謂的依次往下排指的是子級的排列。在尋找變量的時候先從同級找再找父級。

在上面的例子中,

首先彈出的是language方法里的第一個alert,如果window全局是0,那么在例子中var name="js"這個就是1.第一個alert就在1中找,如果找不到在去0中找。這是它發(fā)現(xiàn)了同級有一個var name="js"但是它目前還沒有賦值,所以彈出underfind

第二個彈出是language方法里的第二個alert,同樣的他會在1里找也就是方法內(nèi)部。他找到了name而且賦值了js,所以彈出的是js

第三個彈出是最下面的alert,由于在方法內(nèi)部已經(jīng)給全局name重新賦值了,導(dǎo)致彈出的是javascript。

然后增加下一個鏈路我們在language中頂一個方法,如下:

<scripttype="text/javascript"> 

varname="javascript";//全局 

window.name="javascript";//全局 

varlanguage=function() 

{ 

alert(name); 

name="javascript";//全局 

varname="JS";//局部 

alert(name); 

  

var lovelanguage=function(){

alert(name); 

}(); 

}() 

  

alert(name);

</script> 

此時lovelanguage里的alert彈出的是js因為他會找上一級也就是language里的name,所以。。。

以上就是小編為大家?guī)淼膉avascript作用域、作用域鏈(菜鳥必看)的全部內(nèi)容了,希望大家多多支持腳步之家。

相關(guān)文章

  • uni-app h5端在jenkins構(gòu)建報錯解決

    uni-app h5端在jenkins構(gòu)建報錯解決

    這篇文章主要為大家介紹了uni-app h5端在jenkins構(gòu)建報錯解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 解決webpack dev-server不能匹配post請求的問題

    解決webpack dev-server不能匹配post請求的問題

    這篇文章主要介紹了解決webpack不能匹配post請求的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 微信小程序激勵式視頻廣告組件使用詳解

    微信小程序激勵式視頻廣告組件使用詳解

    這篇文章主要介紹了微信小程序激勵式視頻廣告組件使用,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • firefox瀏覽器不支持innerText的解決方法

    firefox瀏覽器不支持innerText的解決方法

    在測試時發(fā)現(xiàn)firefox不支持innerText,該怎么辦呢?其實很簡單,本文為大家提供了一個解決方法,感興趣的朋友可以參考下,希望對大家有所幫助
    2013-08-08
  • js操作iframe的一些方法介紹

    js操作iframe的一些方法介紹

    本篇文章介紹了js操作iframe的一些方法的實例代碼與步驟,有需要的朋友可以參考一下
    2013-06-06
  • javascript 面向?qū)ο蠹夹g(shù)基礎(chǔ)教程

    javascript 面向?qū)ο蠹夹g(shù)基礎(chǔ)教程

    看了很多介紹javascript面向?qū)ο蠹夹g(shù)的文章,很暈.為什么?不是因為寫得不好,而是因為太深奧.
    2009-12-12
  • jscript之Read an Excel Spreadsheet

    jscript之Read an Excel Spreadsheet

    jscript之Read an Excel Spreadsheet...
    2007-06-06
  • 一文帶你理解JS中的原型和原型鏈

    一文帶你理解JS中的原型和原型鏈

    在學(xué)習(xí)JavaScript中的繼承機(jī)制時,我們常常會遇到原型和原型鏈這兩個概念,在初學(xué)階段,不理解這些概念很容易陷入迷茫,甚至?xí)?dǎo)致學(xué)習(xí) JS 的路程變得曲折,本文將介紹JavaScript原型和原型鏈的概念、設(shè)計思想以及相關(guān)的使用方法,需要的朋友可以參考下
    2023-07-07
  • Javascript中replace方法與正則表達(dá)式的結(jié)合使用教程

    Javascript中replace方法與正則表達(dá)式的結(jié)合使用教程

    replace方法是javascript涉及到正則表達(dá)式中較為復(fù)雜的一個方法,嚴(yán)格上說應(yīng)該是string對象的方法,下面這篇文章主要給大家介紹了關(guān)于Javascript中replace方法與正則表達(dá)式的結(jié)合使用的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • javascript實現(xiàn)圖片預(yù)加載和懶加載

    javascript實現(xiàn)圖片預(yù)加載和懶加載

    這篇文章主要為大家詳細(xì)介紹了javascript實現(xiàn)圖片預(yù)加載和懶加載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03

最新評論