<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> 版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/kkdelta/article/details/49276787