在javascript中使用php风格的$globals

在javascript中使用php风格的$globalsJavaScript有隐含的全局变量。当你不使用var来定义a

1,而直接定义a=1时,这个变量a将成为一个全局变量。有的认为这是一个错误,应该避免全局变量,因为它们往往会在意想不到的地方出错,尤其是在项目参与人员很多的情况下。

在PHP当中,默认的是局部变量。如果你需要一个全局变量,那么你必须要将要声明为全局变量的变量放到$globals这个数组中。

怎样在javascripts中使用$globals呢?通过为全局公约在你的javascripts呢?在脚本文件顶部声明:$GLOBALS
= {};那么每一次当你需要一个全局变量,您可以这样做:

$GLOBALS[ ” myglob ” ] = 1 ; / /非常像PHP的样式

或者如果你喜欢,也可以这样:

$globals.myglob = 1 ;这样做的优点:

*全局变量容易识别
*如果变量不定义成$GLOBAL,那么它就是局部变量。如果变量没有使用var,那么它将产生一个错误

缺点:

*这种使用方法,不是官方规定的,不强制使用,只是一项约定俗成的方法。

Stoyan Stefanov”s Blog: PHP-style $GLOBALS in Javascript?Javascript
has implied globals. When you skip the var in var a = 1; and go a = 1;,
then a becomes a global variable. Some consider this an error in the
language. Global variables should be avoided because they tend to
overwrite each other in unexpected places, especially if the project
grows in LOC and number of developers.In PHP on the other hand,
variables are local. If you need a global variable, then you have to
have to be explicit about it using the $GLOBALS superglobal array.So how
about this: adopt the $GLOBALS convention in your JavaScripts? At the
top of the script you go:$GLOBALS = {};Then every time you need a global
variable, you do:$GLOBALS[”myglob”]澳门新葡亰3522平台游戏, = 1; // very PHP-likeor if you
prefer:$GLOBALS.myglob = 1;Benefits of the approach:global variables
easy to spot (even from an aeroplane)if it”s not $GLOBAL, it”s meant
to be local. If it”s missing the var, it”s an errorDrawback:It”s a
convention, so it can only help, but not enforce any coding practices