JS中關於arguments

qingyezhu發表於2014-09-08
    
        //自動更新
        //arguments物件為其內部屬性以及函式形式引數建立getter和setter方法
        //因此,改變形參的值會影響到arguments物件的值,反之亦然。
        function changeArgument(arr){
            arr[0] = arr[2];//10,1,10
        }
        
        function change(a,b,c){
            c = 10;//1,1,10
            changeArgument(arguments);
            return a + b + c;
        }
        console.log('change results: %s',change(1,1,1));//change results: 21
        
        
        function f(a){
            //當在嚴格模式下,不會建立getter和setter方法
            "use strict";
            a = 42;
            return [a,arguments[0]];//[42,17]
        }
        
        var pair = f(17);
        console.log(pair);// [42, 17]
        console.log(pair[0] === 42);//true
        console.log(pair[1] === 17);//true

 

相關文章