标签:javascript arguments call apply
JS 函数定义的时候的参数和调用时的关系<script> function test(a,b,c){ console.log(a); } test(‘a‘); test(‘a‘,‘b‘,‘c‘); </script> <script> function test(a){ console.log(a); } test(‘a‘); test(‘a‘,‘b‘,‘c‘); </script>JS的方法没有"重载"的概念,后定义的方法会覆盖前面的定义,如下面的例子,
<script> function test(a){ console.log(a); } function test(a,b){ console.log(‘next definition‘); console.log(a); } test(‘a‘); test(‘a‘,‘b‘,‘c‘); </script>JS方法有一个内置的参数 arguments,这是很多JS框架"赖以生存”的基础,
<script> function test(){ console.log(arguments); var arg = arguments[0]; if(arg.val1){ console.log(arg.val1); } if(arg.val2){ console.log(arg.val2); } } test(‘a‘); test(‘a‘,‘b‘,‘c‘); test({val1:‘value1‘}); </script>
<script> var obj = { test: function(){ console.log(this.name); } } var obj1 = {name:‘object1 name‘}; obj.test.call(obj1); console.log(‘--------‘); var obj2 = {name:‘object2 name‘}; obj.test.apply(obj2); </script>
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:javascript arguments call apply
原文地址:http://blog.csdn.net/kkdelta/article/details/49276787