Ada*_*ths 5 javascript function parameter-passing
这是我正在寻找的行为:
function one(func){
func(5);
}
function two(arg1, arg2){
console.log(arg1);
console.log(arg2);
}
one(two(3)) //prints 3, 5
Run Code Online (Sandbox Code Playgroud)
这种行为或类似的东西可以在javascript中完成吗?
您始终可以使用bind()函数将一些参数传递给您的函数.它将创建一个新函数,第一个参数 - arg1 - 等于此示例中的值3:
function one(func){
func(5);
}
function two(arg1, arg2){
console.log(arg1);
console.log(arg2);
}
one(two.bind(null, 3))
Run Code Online (Sandbox Code Playgroud)
你可以在这里阅读更多关于bind()函数的信息:MDN - Bind
一些解决方法是可能的
function one() {
var args = Array.prototype.slice.call(arguments);
var func = args[0];
args.splice(0, 1);
args.push(5);
func.apply(this, args);
}
function two(arg1, arg2) {
console.log(arg1);
console.log(arg2);
}
one(two, 3)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9035 次 |
| 最近记录: |