注册 登录
编程论坛 JavaScript论坛

好奇怪的一段代码,百思不得其解

Renshk 发布于 2011-06-05 20:29, 850 次点击
代码段1:

<script>//<![CDATA[
alert(tmp);  //输出 undefined
var tmp = 1;
alert(tmp);  //输出 1

//]]>
</script>

这段代码在浏览器中可以正确的弹出1

代码段2:
<script type="text/javscrpt">//<![CDATA[
var tmp = 1;
alert(tmp);  //输出 1
//]]></script>

这段代码就不行,但是看来看去也看不出有什么问题

不知道那位大虾可以帮小弟我解惑下?小弟感激不尽!
6 回复
#2
makebest2011-06-05 20:44
楼主眼神也太差了,一看就是最后一行错了.
#3
Renshk2011-06-05 20:59
请问楼上最后一行那里错了哈?
#4
Renshk2011-06-05 22:11
回复 2楼 makebest
不懂装懂,其实是type属性写错了 javascript写成javscrpt了,所以不行,是第一行,不是最后一行
#5
happy4212011-06-06 18:49
用编程工具就不会出现这样的问题啦,会自动跳出来   javascript  还有各种属性什么的。。。
#6
Luohui1092011-07-07 13:43
...
#7
小鸡啄米2011-07-26 11:35
这跟JS的作用域有关,JS作用域只有函数域,而没有块作用域,当没有函数的时候,就包含在一个顶级的作用域。第一种情况 当你alert(temp)的时候 ,js 会找到temp,因为temp 已经被声明,但是还没有被初始化,所以undefined,第二种被初始化了
1