假设我有一个变量var s0=“hello”,var s1=“bye”
for(var i = 0; i < 1; i++) {console.log("s"+i);}
我如何访问这些字符串(s0和s1)以打印出来?
对于全局级变量:
for(var i = 0; i < 1; i++) {console.log(window["s"+i]);}
对于局部变量:
for(var i = 0; i < 1; i++) {console.log(eval("s"+i));}
如果您计划以这种方式访问变量列表,那么您可能应该将它们存储在如下所示的数组中
s = ["Hello", "Bye"];
for(var i = 0; i < 1; i++) {console.log(s[i]);}
这是正确的方式,你应该停止读这里。
但是...因为javascript很奇怪,所以可以通过下面这样的字符串访问直接附加到窗口的“全局”变量
s0 = "Hello"
s1 = "Bye"
for(var i = 0; i < 1; i++) {console.log(window["s"+i]);}
基本上,您是通过window[“s0”]
访问window上的变量。“s”+i
语句会变成“s0”
或“s1”
,因为javascript也很奇怪,在字符串中添加一个数字会得到一个字符串。
永远不要这样做。坚持原有的上述方法
预定义的全局变量和函数 Javascript 预定义了很多全局变量和函数,应当避免把它们用做变量名和函数名。如果用它们创建变量或函数,就会得到一个错误( 如果为只读 )或重定义了已经存在的变量或函数。不应该这样做,除非绝对明确自己在做什么。 arguments Array Boolean Date decodeURI decodeURIComponent encodeURI encodeURICo
问题内容: 如何在其他.go包/文件中的main.go中访问已声明/初始化的变量?不断告诉我变量未定义(我知道全局变量不好,但这只是用作时间戳记) 在main.go中 尝试访问其他.go文件中的StartTime,但保持未定义StartTime 问题答案: 我将改为“注入” starttime变量,否则在软件包之间会有循环依赖关系。 main.go otherpackage.go
问题内容: 是否可以在JavaScript函数中定义全局变量? 我想在其他函数中使用变量(在函数中声明)。 问题答案: 是的,正如其他人所说的,您可以在全局范围内(在所有函数之外)使用声明全局变量: 或者,您可以在上分配一个属性: …因为在浏览器中,用声明的 所有全局变量 都是对象的属性。(在最新规范ECMAScript 2015中,全局范围内的new ,和语句创建的不是全局对象属性的全局变量;这
本文向大家介绍PHP 用户定义的全局变量,包括了PHP 用户定义的全局变量的使用技巧和注意事项,需要的朋友参考一下 示例 任何函数或类之外的范围都是全局范围。当PHP脚本包含另一个脚本(使用include或require)时,范围保持不变。如果脚本包含在任何函数或类的外部,则其全局变量包含在同一全局范围内,但是如果脚本包含在函数内部,则所包含脚本中的变量位于函数的范围内。 在函数或类方法的范围内,
问题内容: 是否可以使用webpack定义全局变量以产生如下所示的结果: 我看到的所有示例都使用外部文件 问题答案: 有几种方法可以处理全局变量: 1)将变量放入模块中。 Webpack仅对模块进行一次评估,因此您的实例保持全局状态,并在模块之间进行更改。 因此,如果您创建像a之类的东西并导出所有全局变量的对象,则可以读取/写入这些全局变量。您可以导入一个模块,从功能中对对象进行更改,然后导入另一
我的文件中有这段代码,在这里我可以简单地使用。 现在,我需要使用socket从各种文件发出事件,而不想连接此