function a() {abc = function() { alert("bb"); }; var abc = function() { alert("bb1"); }; }
var gg = new a();
abc();//出错,未定义我想请问,前面的abc = function() { alert("bb"); };不是定义了一个全局变量吗?为什么却报错未定义呢??请指教!~谢谢~~~
var gg = new a();
abc();//出错,未定义我想请问,前面的abc = function() { alert("bb"); };不是定义了一个全局变量吗?为什么却报错未定义呢??请指教!~谢谢~~~
解决方案 »
- 求个简单的js代码
- 我在主页面创建了一个iframe,并在里面放入了一个jsp页面。我要把点击iframe时动态创建的div进行拖拽,但是出了点问题。大家帮我来看看吧!
- javascript和jscript有什么差别阿。
- 为所有的TD,TR添加样式
- 求一个可拖DIV的类,最后兼容FF
- 同胞们,帮帮我吧。。。cookie读取后,和一个字符串比较,值不相等?!!!!!!!!!!!!100分急求
- 请教textarea的当前浏览行
- http://www.idll.net/test/123.gif
- 怎样可以把相同名字的两个文本框,添加文字到第二个文本框,但它们的ID不同.
- 急!!!有关数据库中的记录的打印问题???
- 求助!!!ie9中 prompt方法不行怎么设置才好??
- 请问elem.setInterval是检测什么的??
但是前面加上了个 var
就变成了局部了
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD> <BODY>
<script type="text/javascript">
var temp="first";
function test(){
alert(temp);//显示“undefined”,
var temp="second";//变量在此处被初始化,但函数内到处都有定义
alert(temp);
}
test();
</script>
</BODY>
</HTML>运行下这个例子,体会一下
我简单说下解析过程 function test(){
alert(temp);//显示“undefined”,
var temp="second";//变量在此处被初始化,但函数内到处都有定义
alert(temp);
}调用test的时候
先解析var temp;//但是赋值操作不会提前解析,于是乎这代码成了
function test() {
var temp;
alert(temp);
temp = "second";
alert(temp);
}
那么既然有了局部变量,他会优先使用全局变量。这个是4楼在解释的过程中给你附带的知识点。