javascript中call的使用方法是
func.call(obj, params);
调用func.call(obj, params);这个方法其实就等同于执行
function func(params)
{
var this = obj;
.....
}
当 obj参数为null的时候,obj默认就为当前的全局对象 。
以下一个测试的例子
<script>
var obj1 = function()
{
this.x = 100;
}
var obj2 = function()
{
this.x = 200;
}
var x= "1";
function f(message)
{
alert(message);
alert(this.x);
}
f.call(null, "global");
f.call(new obj1(), "invoking f obj1");
f.call(new obj2(), "invoking f obj2");
</script>
apply方法的功能等同于call,只不过apply的第二个参数必须是个数组。
func.apply(obj, ["test"]);
171

被折叠的 条评论
为什么被折叠?



