Javascript / JQuery scope
Javascript / JQuery scope
我在Javascript/Jquery中有几个函数,我将一个属性传递给一个函数,然后再传递给另一个函数。
我遇到的问题是,第一个函数中的属性已经填充,但第二个函数的属性填充不足。
ExecuteSQL: function (sql, onSuccess) {
try {
if (this.Database != null) {
this.Database.transaction(function (tx) {
tx.executeSql(sql, [], function (d, r) {
if (this.onSuccess) this.onSuccess(r);
});
});
}
else {
alert("Could not execute SQL, the database connection is closed.");
}
}
catch (e) {
alert("Failed to execute SQL," + e);
}
},
onSuccess是ExecuteSQL作用域中的值,但在事务作用域中为空。
任何帮助都会很棒。
谢谢保罗。
在这种情况下,您可以执行以下操作:
function (d, r) { if (onSuccess) onSuccess(r); }
只是为了明确检查您可以执行的功能:
function (d, r) { if (typeof onSuccess === 'function') onSuccess(r); }
由于onSuccess
是一个变量,它包含在函数ExecuteSQL
的作用域中定义的函数引用,因此您可以在回调中按原样访问它,并且它不作为实例的属性关联,因此this.onSuccess
不会为您获取任何内容(忽略this
不是ExecuteSQL
函数中的this
这一事实)。
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- jQuery:循环一个具有不同超时值的循环
- 用程序搜索JQuery数据表中的文本
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- Javascript / JQuery scope
- jQuery / JavaScript Function Scope / Hoisting
- jQuery $.each variable Scope
- Javascript Scope using JQuery
- jQuery clearInterval undifined variable scope issue
- Angular js $scope在 Jquery 函数中不起作用
- toggle() scope in a jquery script
- Javascript Scope (Jquery)
- 我如何区分$ (jQuery)和$scope从AngularJS
- jQuery如何在自定义指令中响应$scope的变化?
- JavaScript / jQuery scope
- Angularjs $scope变量内部的jquery绑定方法
- 如何使用AngularJS的scope来监视JQuery选择器
- JavaScript + jQuery this scope