使用JavaScript的function加console.log(fn('苹果', '香蕉')('西红柿')); console.log(fn('苹果')('香蕉', '西红柿')); console.log(fn('苹果', '香蕉', '西红柿'));,在控制台输出,使用三种代码方法
时间: 2023-06-19 20:04:17 浏览: 43
方法一:
```javascript
function fn(...args1) {
return function (...args2) {
return [...args1, ...args2];
}
}
console.log(fn('苹果', '香蕉')('西红柿'));
console.log(fn('苹果')('香蕉', '西红柿'));
console.log(fn('苹果', '香蕉', '西红柿'));
```
方法二:
```javascript
function fn() {
let args1 = [...arguments];
return function () {
let args2 = [...arguments];
return [...args1, ...args2];
}
}
console.log(fn('苹果', '香蕉')('西红柿'));
console.log(fn('苹果')('香蕉', '西红柿'));
console.log(fn('苹果', '香蕉', '西红柿'));
```
方法三:
```javascript
const fn = (...args1) => (...args2) => [...args1, ...args2];
console.log(fn('苹果', '香蕉')('西红柿'));
console.log(fn('苹果')('香蕉', '西红柿'));
console.log(fn('苹果', '香蕉', '西红柿'));
```
相关问题
使用JavaScript的function加console.log(fn('苹果', '香蕉')('西红柿')()); console.log(fn('苹果')('香蕉', '西红柿')()); console.log(fn('苹果', '香蕉', '西红柿')());,使用三种代码方法
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());
```
请使用JavaScript中的function中的三种方式打印出, console.log(fn('苹果','香蕉')('西红柿')) console.log(fn('苹果')('香蕉','西红柿')) console.log(fn('苹果','香蕉','西红柿'))
可以使用函数柯里化(Currying)来实现这个功能。
方法一:使用函数嵌套
```javascript
function fn(a) {
return function(b) {
return function(c) {
return a + '、' + b + '、' + c;
}
}
}
console.log(fn('苹果','香蕉')('西红柿'));
console.log(fn('苹果')('香蕉','西红柿'));
console.log(fn('苹果','香蕉','西红柿'));
```
方法二:使用箭头函数
```javascript
const fn = a => b => c => a + '、' + b + '、' + c;
console.log(fn('苹果','香蕉')('西红柿'));
console.log(fn('苹果')('香蕉','西红柿'));
console.log(fn('苹果','香蕉','西红柿'));
```
方法三:使用ES6新特性
```javascript
function fn(...args) {
return args.join('、');
}
console.log(fn('苹果','香蕉')('西红柿'));
console.log(fn('苹果')('香蕉','西红柿'));
console.log(fn('苹果','香蕉','西红柿'));
```
以上三种方法都可以达到目的,选择哪一种取决于个人喜好和使用场景。