使用JavaScript的function加console.log(fn('苹果', '香蕉')('西红柿')()); console.log(fn('苹果')('香蕉', '西红柿')()); console.log(fn('苹果', '香蕉', '西红柿')());,使用三种代码方法
时间: 2023-06-19 09:03:35 浏览: 46
1. 使用普通函数定义方式:
```
function fn() {
var args = Array.prototype.slice.call(arguments);
return function() {
var newArgs = args.concat(Array.prototype.slice.call(arguments));
return newArgs.join(' ');
}
}
console.log(fn('苹果', '香蕉')('西红柿')());
console.log(fn('苹果')('香蕉', '西红柿')());
console.log(fn('苹果', '香蕉', '西红柿')());
```
2. 使用箭头函数定义方式:
```
const fn = (...args) => (...newArgs) => [...args, ...newArgs].join(' ');
console.log(fn('苹果', '香蕉')('西红柿')());
console.log(fn('苹果')('香蕉', '西红柿')());
console.log(fn('苹果', '香蕉', '西红柿')());
```
3. 使用类的方式定义:
```
class Fn {
constructor(...args) {
this.args = args;
}
callFn(...newArgs) {
return [...this.args, ...newArgs].join(' ');
}
}
const fn = (...args) => new Fn(...args);
console.log(fn('苹果', '香蕉').callFn('西红柿'));
console.log(fn('苹果').callFn('香蕉', '西红柿'));
console.log(fn('苹果', '香蕉', '西红柿').callFn());
```