以不同的方式调用javascript函数
Calling a javascript function in different ways
考虑我有一个函数作为:
function test1() {
this.x= 10;
this.fun = function() {
return function() {
console.log(this.x);
};
};
}
var obj = new test1();
var returnFun = obj.fun();
有两种方法可以调用此函数:
returnFun();
和
returnFun.call(obj);
为什么第一种方法不推荐?在两种不同的情况下,"this"的值是多少?var obj = new test1();
语句会创建一个新对象并将"this"
的值设置为原型吗?
为什么第一种方法(
returnFun();
)是不推荐的?
那个方法一点毛病都没有。
在两种不同的情况下,"this"的价值是什么?
第一个示例中this
的值将是在其中定义函数的外部范围,即window
。
要以编程方式更改this
的作用域,请使用call()
或apply()
方法,如在第二个示例中所做的那样。这意味着对于第二个示例,函数中的this
将引用obj
变量。
相关文章:
- 我需要从php调用javascript或jquery
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 使用html表单中的参数调用JavaScript函数
- 可以´t调用JavaScript中的函数
- 在按钮上调用Javascript函数
- 如何从Objective-C代码中调用javascript代码
- 当库在页脚中加载时,基于PHP条件调用Javascript
- 可以't在Jasmine中调用Javascript函数
- 在page_load事件上调用javascript函数
- 如何在ajax中调用javascript对象的方法
- 如何使用WPF调用JavaScript对象的函数
- 我们可以用参数对象集合而不是原始数据来调用JavaScript collection.reduce()方法吗
- 在新的浏览器选项卡上加载新的aspx页面后调用JavaScript函数
- 从附加文本调用javascript(订单车)
- 在线程循环中调用JavaScript
- 在指定时间后多次调用Javascript中的函数
- 未调用Javascript onscroll事件
- 如何正确调用Javascript中的匿名函数
- 从字符串调用javascript函数
- 无法从活动调用 javascript 函数