随笔-57  评论-129  文章-0  trackbacks-0

<script>

var test1 = 1;

function test1(){};//函数申明不能覆盖变量申明?

alert(test1);

</script>

<script>

var test2 = 1;

eval('function test2(){};');

alert(test2);//函数申明怎么又覆盖了变量申明?

</script>




评论也很精彩,请点击查看精彩评论。欢迎您也添加评论。查看详细 >>

推荐相关文章:
  ext应用载图,PP几张~
  云想衣裳花想容--JSI组件模型介绍(一)




JavaEye推荐
杭州:外企高薪聘请系统维护工程师(10-15K)
杭州:国内大型网络公司高薪招聘系统架构师,资深JAVA开发工程师
北京:优秀公司NHNChina招聘:WEB开发,系统管理,JAVA开发, DBA
广州:急招 JAVA开发经理/系统架构师(10-15K/月)也招聘java程序员



文章来源: http://jindw.javaeye.com/blog/78277
posted on 2007-05-09 17:21 金大为 阅读(81) 评论(1)  编辑  收藏

评论:
# re: [导入]函数申明和变量申明的微妙区别 2007-11-23 14:40 | 狙击手
很简单,所有var和function等的声明在解释执行之前放在最前面的。
可以这么理解:
第一个JS代码里面,首先声明一个var然后接着声明一个function,那么声明完了之后才能进行复制,那么令test1=1;
那么第二个JS代码里面呢,由于eval是个函数,没有任何声明的作用。那么声明完test2之后呢,就要开始执行代码了,首先让test2=1;之后再执行eval里面的东西,当然就给覆盖了。
  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: