[英]Javascript global variable undefined mobile safari Android works fine
好的,所以这让我很难过,希望你们中的一个人可以帮助我。 所以,我有一个使用电容器构建的应用程序。 在我的应用程序中,我有全局 JS 变量,例如:
//globals
var isCheckin = "";
var isUser = "";
ETC...
在 android 上,这工作得很好(以前,在 IOS 上也可以工作)。 但是现在,当我在 IOS 上构建它并运行应用程序时,我的if
语句会出现以下内容:
if(isCheckin !== "") {}
不再工作,因为isCheckin
以undefined
的形式返回。
我正在做一些搜索并遇到“吊装”,虽然我猜可能是这样,为什么会:
undefined
?事实上,应用商店中的应用程序的当前版本仍然可以正常工作,但是当全局变量似乎被 safari 忽略时,新版本就会出现这个问题。
应该定义您对全局变量的定义。
让我们看看第一个例子:
const myFunction = (() => { var foo = 'bar'; }); myFunction(); console.log(foo);
该变量正在函数范围内定义。 即在该范围之外它将是未定义的。
您可以做的是从中删除var
。 看:
const myFunction = (() => { foo = 'bar'; }); myFunction(); console.log(foo);
现在变量是全局的,也可以在函数外使用。 但是如果你设置"use stricht"
,变量将是未定义的。 看:
"use strict" /* global console */ const myFunction = (() => { foo = 'bar'; }); myFunction(); console.log(foo);
因此,在范围外获取变量值的最简洁方法是使用let
。 看:
"use strict" /* global console */ let foo; const myFunction = (() => { foo = 'bar'; }); myFunction(); console.log(foo);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.