js全局变量赋值

JavaScript044

js全局变量赋值,第1张

function test(){

s = “sh”//全局变量

var c = 1//局部的整形变量

}

这样即可为一个全局变量赋值。

省略了var操作符,就创建了一个全局变量,如上形式就可以直接进行创建并且赋值。

在js中有var操作符的变量是定义在该变量范围内的局部变量,局部变量在出了作用域的范围会就会被立即销毁。

重新赋值前后的字符串长度不一定相等,比如"abc"是三个字节的空间,而"defg"是四个字节的空间,如果直接修改原空间的内容肯定是不可能的(因为"abc"之后很可能存放的是其他变量的内容,你拿四个字节的内容去覆盖它,就可能会影响到其他变量了,这个问题是很严重的!),因此肯定是新开辟空间来存放重新赋值的变量内容(即使长度没变)。

这点也同样适用于数字类的数据内容,JavaScript是弱类型语言,变量在赋值前是没有类型的,赋值后才会根据内容来自动确定类型。比如 var x = 500 会自动按两个字节的整型来分配空间,而 x = 80000 这时候两个字节就不够用了,必须重新分配4个字节来存放,变量x也会自动变为长整型变量。