版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35713752/article/details/83178668
重要:函数也是对象,你可以给它们添加属性或者更改它们的属性。
函数内部对象:arguments
解析:函数实际上是访问了函数体中一个名为 arguments
的内部对象,这个对象就如同一个类似于数组的对象一样,包括了所有被传入的参数。
demo 1代码:函数return内部函数
1
test() {
var a
return this.test2()
},
test2() {
return 3
},
console.log(test()); //打印日志 3
2
test() {
var a
return function () {
return 2
}
},
console.log(test());
//打印日志
ƒ(){
返回2;
}
3
function test() {
var a = 1;
function oneMoreThanA() {
return a + 1;
}
return oneMoreThanA();
}
console.log(test());
//打印日志 2
demo 2代码 使函数接收任意参数
arguments
解析:函数实际上是访问了函数体中一个名为 arguments
的内部对象,这个对象就如同一个类似于数组的对象一样,包括了所有被传入的参数。
function add() {
var sum = 0;
for (var i = 0, j = arguments.length; i < j; i++) {
sum += arguments[i];
}
return sum;
}
add(2, 3, 4, 5); // 14
demo 3代码 函数递归的使用
var charsInBody = (function counter(elm) {
console.log(elm)
return elm;
})(2);
//打印日志 2