js中全局变量应该怎么设置?

JavaScript023

js中全局变量应该怎么设置?,第1张

首先吧,你得知道什么是全局变量:

javascript的变量作用域是根据方法块儿来限定的,方法块儿内声明的变量叫局部变量,方法块儿外声明的变量叫全局变量。

有三种方式声明全局变量:

方法1,在方法块儿外拿var声明:

<script>

    var a=1

    function(){

        //我是代码

    }

</script>

方法2,不实用var,进行隐式声明:

<script>

    b=1

    function(){

        c=2

        //b和c都是全局变量。

    }

</script>

方法3,用window.变量方式声明:

<script>

    function(){

        window.d=1

    }

    console.log(d)

    //d为全局变量。

</script>

在js中定义成全局变量的方式有以下几种:第一种,不对该变量进行var声明,则默认是全局变量,不过不推荐,容易出错。第二种,通过window.变量名方式进行申明,这种方式没有位置限制。如function fa(){ a='2'//这里a就是全局变量 window.k=2//这里k也是全局变量}

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

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

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

var $str1=d1

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

console.log($str1.value.length)