js中如何定义全局变量?

JavaScript011

js中如何定义全局变量?,第1张

JavaScript声明全局变量三种方式的异同

JavaScript中声明变量格式:var(关键字)+变量名(标识符)。

方式1

var test

var test = 5

需注意的是该句不能包含在function内,否则是局部变量。这是第一种方式声明全局变量。

方式2

test = 5

没有使用var,直接给标识符test赋值,这样会隐式的声明了全局变量test。即使该语句是在一个function内,当该function被执行后test变成了全局变量。

方式3

window.test

window.test = 5

这种方式经常被用到一个匿名函数执行后将一些函数公开到全局。 如JQuery1.5中最末一句

window.jQuery = window.$ = jQuery

因为变量的声明和赋值都是发生在input输入数据之前的,而当input输入数据后变量并没有被重新赋值,所以就还是空的。

这种情况就不要用全局变量了,而应该在函数里实时获取input的输入值(也就是把var这行放到select2函数里面去)。

如果一定要用全局变量,那么就应该把input对象(而不是把它的value属性值)赋值给全局变量:

var $str1=d1

然后在函数里使用的时候要这样:

console.log($str1.value.length)

在js中定义成全局变量的方式有以下几种:

第一种,不对该变量进行var声明,则默认是全局变量,不过不推荐,容易出错。

第二种,通过window.变量名方式进行申明,这种方式没有位置限制。

function fa(){

   a='2'//这里a就是全局变量

   window.k=2//这里k也是全局变量

}