JS函数内声明变量常见误点!

JavaScript 2012-06-14 JavaScript,变量

许多童鞋在写js的时候,在函数里声明变量对var关键字认识不深刻,这里就函数里声明变量的一点示例。

一、函数内使用var关键字声明变量

这种情况通常是声明的函数作为局部变量,即函数外不能使用

<meta charset="UTF-8" />
<script type='text/javascript'>
/**
 * 琼台博客
 */

function aa(){
	// 声明变量,使用var关键字
	var str = '琼台博客';
	alert(str); // out : 琼台博客
}

aa();

// 函数外使用变量
alert(str); // 报错:没有声明str变量

</script>

二、函数内不使用var关键字声明变量

这种情况下,即是声明全局变量,整个脚本任何地方都可以使用

<meta charset="UTF-8" />
<script type='text/javascript'>
/**
 * 琼台博客
 */

function aa(){
	// 声明变量,不使用var关键字
	str = '琼台博客';
	alert(str); // out : 琼台博客
}

aa();

// 函数外使用变量
alert(str); // out : 琼台博客

</script>

三、一个常见的错误

<meta charset="UTF-8" />
<script type='text/javascript'>
/**
 * 琼台博客
 */

// 声明全局变量
var str = '琼台博客';

function aa(str){
	// 函数内定义一个与全局变量同名变量
	var str = str;
	alert(str); // out : undefined
}

aa();

// 再次使用变量,值未变
alert(str); // out : 琼台博客

</script>

文字链接:《JS函数内声明变量常见误点!

文章地址:http://www.qttc.net/20120689.html

除非标注,琼台博客所有博文均为原创,转载请加文字链接注明来源

乳名?小名?昵称?网名?均可

email,放心,我不会给你乱投广告的

想获得回访就把你的站点URL写上(没有留空)

[NOTICE]木要投放广告
[NOTICE]木要骂人,说不该说的话
[NOTICE]自由言论,但要遵纪守法

Comments 5

  • 第3个函数内声明新变量=全局变量之后为什么出现是undefined呢?
    2012-06-18 00:09:59 [ 跟帖 ]
    因为函数里边声明变量名与函数外边声明的变量名一样,所以函数里边会认为是一个undefined
    2012-06-18 09:37:20 [ 跟帖 ]
    1 #
  • 我也想学学,但是不知道从何下手比较好
    2012-06-14 22:46:48 [ 跟帖 ]
    JS其实还是很多内容的,专门学好JS薪水至少上W
    2012-06-15 09:29:19 [ 跟帖 ]
    2 #