1. 程式人生 > >JavaScript探索--2

JavaScript探索--2

js

apply 與 call用法

能夠擴展函數賴以運行的作用域

<script>
        var color = ‘紅色‘;
        var box = {
            color : ‘藍色‘
        }
        function sayColor() {
            console.log(this.color);
        }

        sayColor.apply(this);//this指代window作用域
        sayColor.apply(box);//box指代box作用域
</script>

註意:apply與call用法一樣,只是傳遞的參數不同

<script>
    function sum(num1, num2) {
        return num1 + num2;
    }
    function add(num1, num2) {
        return sum.apply(this, arguments);//apply傳遞參數可以用arguments對象代替
        return sum.call(this, num1, num2);//call傳遞參數必須每個都寫
    }

    add(10,10);
</script>

JavaScript探索--2