我不确定这个的正确用语.但我想编写一个接受另一个函数并执行它的函数.例如.
function test(data, aFunc) {
var newData = data + " Shawn";
aFunc.call(newData);
}
test("hello", function(data){
alert(data);
});
Run Code Online (Sandbox Code Playgroud)
数据应包含"hello Shawn"字符串.请帮我改写一下这个正确的方法.
该call方法的第一个参数用于this在调用的函数内显式设置关键字(函数上下文),例如:
function test(data, aFunc) {
var newData = data + " Shawn";
aFunc.call(newData);
}
test("hello", function () {
alert(this); // hello Shawn
});
Run Code Online (Sandbox Code Playgroud)
如果要在不关心上下文(this关键字)的情况下调用函数,可以直接调用它而不需要call:
function test(data, aFunc) {
var newData = data + " Shawn";
aFunc(newData); // or aFunc.call(null, newData);
}
test("hello", function (data) {
alert(data);
});
Run Code Online (Sandbox Code Playgroud)
请注意,如果你只是像调用一个函数aFunc(newData);或者使用call或apply方法与this设置参数null或者undefined,在this被调用函数中的关键字将引用全局对象(window).
| 归档时间: |
|
| 查看次数: |
227 次 |
| 最近记录: |