RSS

使用变量的注意事项

14 Jan

变量必须先定义后使用

Javascript中的变量,必须先定义后使用。如果没有定义的变量不能直接在JavaScript中使用,否则将会出现错误。如下面的代码第8行。

允许为未定义的变量赋值 如上面的代码第10行,JavaScript中可以直接给未定义的变量赋值。在给未定义的变量赋值时,JavaScript会自动定义该变量,并且该变量会作为全局变量出现在JavaScript中。

允许重复定义变量
<html>
<
head
>
<
meta
 http-equiv=“content-type” content=“text/html; charset=UTF-8″>
<
title>允许重复定义变量</title>
</
head
>
<
body
>
<
script
>
var myVar = 1
;
document.write(myVar + 100, “<br>”
);
var
 myVar = “This is a String”;
document.write(myVar, “<br>”
);
var
myVar = true;
if
(myVar
){
document.write(“Now myVar is a Boolean”);
}
</
script>
</
body>
</
html
>

引用未赋值的变量

对于定义后还没有赋值的变量,JavaScript会默认该变量值为undefined。

变量的优先级

当一个局部变量名与一个全局变量名相同时,局部变量的优先级高于局部变量。因此,在函数体中同名的局部变量会生效,全局变量则失效。

随处定义的变量

JavaScript中支持变量一处定义随处生效,但是如果在定义变量之前使用的变量是未赋值的变量,只有在赋值语句之后使用的变量才是已赋值的变量。

这个例子JavaScript没有报错,在JavaScript中,可以在程序的任何一个位置声明变量,该变量会在整个有效作用范围中起效,而不是从定义变量的那一行代码开始起效。

这个例子很简单:

这个例子你看懂了吗?局部变量会在整个函数体中生效,因此第一次引用的myCount变量也是函数体中定义的局部变量,因为还没有赋值,所以是”undefined”。

嵌套函数体中变量的有效范围

JavaScript中允许函数的嵌套定义,当前函数中定义的变量可以在所有嵌套函数中使用,但嵌套函数中定义的变量不能在其父级或父级以上的函数中使用:

变量没有语句块的限制

JavaScript语句块中定义的变量也能在其他的语句块中使用,没有语句块的限制。但是有函数的限制,只要是在当前函数中定义的局部变量,都不能在其他函数中使用。

Advertisements
 
Leave a comment

Posted by on 01/14/2000 in JAVASCRIPT

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

 
%d bloggers like this: