我见到这样一段代码 var $a. 请问 这里的$是什么意思?能不能替换为jQuery?

JavaScript021

我见到这样一段代码 var $a. 请问 这里的$是什么意思?能不能替换为jQuery?,第1张

你看到的是两个语言混合在一起的情况,通过 var $a声明的是一个变量,在这个语言中(由可能是php)所有变量都以符合$开头。这里不是jQuery中使用的变量$,jquery是js的一个函数库,$是jquery中合法的js变量名。

跟有没有$无关,就算你直接写a=10也是不会报错的,因为没写var他将会把a归到

全局对象window下,你可以试试这句代码

(function(){a=1})();alert(a)alert(window.a)

最后的结果就是 他们都是同样的

js中 允许在定义变量的时候 不加var 修饰符。

js会在当前作用域下寻找上下文是否定义了此变量, 如果没有找到则会为这个变量分配内存。

当且将其视为window的成员。 也就是全局变量。

如果加了var 修饰符。 js会重新为这个变量分配内存,不论当前上下文中是否已经定义过了。

这个变量的作用域就为当前上下文。 即局部变量。

不加var的写法是强烈不推荐的。

1.  语义不清楚。

2.  团队开发时,容易覆盖掉其它作用域内的变量,引发异常。

3.  给window对象添加不必要成员。

js中的var是定义变量的意思,使用和不使用var都能定义变量,但是两个变量的作用域不同。

1、新建html文档,在body标签中添加script标签,使用var定义一个变量a并给变量赋值为10,将a在控制台输出,这时控制台会输出10:

2、定义一个demo函数,在函数里面重新使用var定义一个变量a,由于函数外的变量a是全局变量,函数内的变量a是局部变量,所以在函数执行后,第一个输出是未赋值的局部变量a,第二个是赋值为5后的局部变量a,第三个是赋值为10的全局变量a:

3、将var去掉,直接定义变量a,这时js默认定义的a是全局变量,函数外和函数内共用一个变量a,所以变量数值正常输出: