关于JavaScript的小问题
JScript code:
var a="aa";
function ff(){
a="c";
if(false)
{
var a;
}
}
ff();
alert(a);
为什么以上效果测试出来的是if语句块执行后的效果,if(false)应该不会执行到后面的语句啊?
这点很是不明白 望大家赐教一下 谢谢
由于声明的var a,编译的时候已经把函数内的a当成局部变量了
应该是编译顺序问题,用预编译如下, 就得到c了
JScript code:
var a="aa";
function ff(){
a="c";
@if(false)
{
var a;
}
@end
}
ff();
alert(a);
精辟!对你的敬仰如滔滔江水连绵不绝~
楼主只要记住JS中除了var声明的变量外还有function声明的函数都会在执行脚本前先进行预编译。
如:
<script type="text/javascript">
f();//结果是undefined
function f(){
alert(a);
var a;//预编译时var变量初始值为undef
相关问答:
如有一个textbox,用户输入后点button按钮时,实现用JavaScript对textbox输入信息的验证,要求用JavaScript来实现,比如验证用户输入的是否是数字。
希望将HTML代码一并写出来哈,谢谢
HTML code:
<!DOC ......
这是我的文本框
<input type="text" size="60" name="password_answer" id="pwdanswer" value="$!password_answer" >
提交按钮
<input clas ......
HTML code:
<input type="button" value="11" onclick="test()" />
<tr>
<td >123</td>
<td>33</td>
</tr>
......
function(data){
var idd=data.id;
var addchildbutton=document.createElement(" <input type='button' onclick='addchild("+idd+")'>");
addchildbutto ......