国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js函數參數的追蹤者--arguments

khlbat / 2330人閱讀

摘要:在函數中常常會使用這個鬼來在跟蹤當前函數的參數傳遞情況今天就來分析一下是如何來跟蹤參數的實例這種情況下沒有實參的傳遞參數與沒有建立聯系兩者相互獨立的還需要說明一點在沒有定義的情況下認為是全局變量可是并不是我們想象的那樣實際上在定義形參時函數

在函數中,常常會使用arguments[]這個鬼來在跟蹤當前函數的參數傳遞情況,今天就來分析一下arguments[]是如何來跟蹤參數的

實例1
function fn(x){
   x = 10;
   arguments[0] = 20;
   console.log(x,arguments[0]); //x = 10; arguments[0] = 20;
}
 fn();
 console.log(window.x);// undefined
 console.log(x);// x is not defined

這種情況下,沒有實參的傳遞,參數與arguments沒有建立聯系,兩者相互獨立的.
還需要說明一點: x = 10,在沒有var定義的情況下,認為是全局變量,可是并不是我們想象的那樣. 實際上 在定義形參時,函數內部就聲明了一個變量,var x在函數內部聲明.

實例2
 function fn(x){
        arguments[0] = 20;
        console.log(x,arguments[0])
    }
    fn();
    // undefined  和 20

這種情況下,也是沒有傳遞實參,函數內只有var x聲明,但是并沒有賦值,所以x就是undefined,參數和arguments也沒有建立聯系.

實例3
function fn(x){
        x = 10;                      
        arguments[0] = 20;
        console.log(x,arguments[0]); // 20 20
    }
    fn(1);

實參傳入,此時,參數和arguments建立聯系,arguments[0]x的值覆蓋掉.

實例4
    function fn(x){
        arguments[0] = 20;
        console.log(x,arguments[0]) //20 20
    }
    fn(1);

實參傳入,與實例3相同,參數和arguments建立聯系,arguments[0]x的值覆蓋掉.

總結

實參,影響著arguments[]與參數之間的聯系,

嚴格模式下,arguments不再追蹤參數的變化

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/78541.html

相關文章

  • JavaScript函數(arguments,this)理解

    摘要:除語法不同外,兩者的區別在于解析器讀取的順序。解析器會事先讀取函數聲明,即使你把函數聲明放在代碼的末端也沒關系。修改對象將可能導致命名參數失去意義。其實除允許匿名函數遞歸調用自身外,并沒有什么太大用處。 javaScript因為其語法松散,導致函數(尤其是this)看似簡單,其實里面花頭很多。本篇介紹一下JavaScript函數及其調用方法。? 函數聲明和函數表達式? ar...

    seanHai 評論0 收藏0
  • 從use strict看JS(二):函數傳參模式與arguments

    摘要:系列系列列表從看一與箭頭函數從看二函數傳參模式與的上一篇說到,對做了以下限定。是另外一個變量,指向不同的值,而這兩個值有相同的類型。函數中,和指向同一個值,更改的就等于更改了的。可以用改進問題是這個在嚴格模式下不能運行。 系列 系列列表:從use strict看JS(一):this與箭頭函數從use strict看JS(二):函數傳參模式與arguments use strict 的 ...

    kycool 評論0 收藏0
  • 學學AOP之裝飾模式

    摘要:但是,這樣做的后果就是,我們會不斷的改變本體,就像把鳳姐送去做整形手術一樣。在中,我們叫做引用裝飾。所以,這里引入的裝飾模式裝飾親切,熟悉,完美。實例講解裝飾上面那個例子,只能算是裝飾模式的一個不起眼的角落。 裝飾者,英文名叫decorator. 所謂的裝飾,從字面可以很容易的理解出,就是給 土肥圓,化個妝,華麗的轉身為白富美,但本體還是土肥圓。 說人話.咳咳~ 在js里面一切都是對...

    nihao 評論0 收藏0
  • 翻譯連載 |《你不知道JS》姊妹篇 |《JavaScript 輕量級函數式編程》- 第 2 章:函

    摘要:從某些方面來講,這章回顧的函數知識并不是針對函數式編程者,非函數式編程者同樣需要了解。什么是函數針對函數式編程,很自然而然的我會想到從函數開始。如果你計劃使用函數式編程,你應該盡可能多地使用函數,而不是程序。指的是一個函數聲明的形參數量。 原文地址:Functional-Light-JS 原文作者:Kyle Simpson - 《You-Dont-Know-JS》作者 關于譯者:...

    Riddler 評論0 收藏0
  • 從一道面試題,到“我可能看了假源碼”

    摘要:返回的綁定函數也能使用操作符創建對象這種行為就像把原函數當成構造器。同時,將第一個參數以外的其他參數,作為提供給原函數的預設參數,這也是基本的顆粒化基礎。 今天想談談一道前端面試題,我做面試官的時候經常喜歡用它來考察面試者的基礎是否扎實,以及邏輯、思維能力和臨場表現,題目是:模擬實現ES5中原生bind函數。也許這道題目已經不再新鮮,部分讀者也會有思路來解答。社區上關于原生bind的研...

    Carson 評論0 收藏0

發表評論

0條評論

khlbat

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<