假设 Func 是一个现有函数:
情况 1 是如果您的函数返回一个值并且您想要存储结果,例如:
function times_ten(num){ return num*10; }
var ten = 10;
var hundred = times_ten(ten);
所以现在你可以从现在开始使用这个变量hundred
了。
情况 2 是如果您没有返回值,或者您不需要保存它:
function write_times_ten(num){ num = num*10; document.write(num); }
var ten = 10;
var hundred = write_times_ten(ten);
案例 3 稍微复杂一些。
如果你这样做var something={a:function(){}}
- 通过创建这样的对象,你的所有函数都在同一个范围内,所以你不会污染全局命名空间。这有点像用其他语言创建一个类。jQuery 是我能想到的最大的例子,因为它所做的所有事情都是由对象处理的jQuery
(或调用诸如jQuery.parseJSON(json_string)
如果你传入一个具有类似函数的对象,那么你就是要求Func()
对传入的函数做一些事情,如下所示:
function do_something_times_ten(options){
options.num = options.num*10;
options.do_something(num);
}
var ten = 10;
do_something_times_ten({num:ten,
do_something:function(num){
num = num*10;
document.write(num);
}
}
);
现在会写出 1000,而不是 100。