我的WP8.1 Phonegap应用程序中有一个非常有趣的问题。当我使用功能
document.addEventListener("deviceready",onDeviceReady,false);
function onDeviceReady(){
**obj.alertFunction();**
}
var obj = {
alertFunction: function(){alert('HelloWorld');}
}
什么都不会发生,但当我只使用 alertFunction();其中alertFunction是
function alertFunction(){
alert('Hello');
}
一切都好。在Android上一切正常,也在Ripple Simulator上。仅在Windows Phone设备上我有这个问题。 THX答案:)
答案 0 :(得分:0)
可能是因为您在第一种情况下使用function
表达式,而在第二种情况下使用function
语句用于警报。 Function
表达式以程序方式执行。尝试更改执行顺序:
function onDeviceReady(){
**obj.alertFunction();**
}
var obj = {
alertFunction: function(){alert('HelloWorld');}
}
document.addEventListener("deviceready",onDeviceReady,false);
这是一个说明差异的片段:
onDeviceReady();
function onDeviceReady(){
obj.alertFunction();
}
var obj = {
alertFunction: function(){alert('HelloWorld');}
}

Nothing happens

function onDeviceReady(){
obj.alertFunction();
}
var obj = {
alertFunction: function(){alert('HelloWorld');}
}
onDeviceReady();

Alert is triggered

如果更改执行不起作用,则可能需要将代码重写为function
语句。
更多阅读: