空值或未定义的值可以转换为false,而任何的非空对象、数组或函数都转换为true
function dispalert() {
var j = a == true;
document.write(j);
}变量a没有定义,应该为false,为什么什么都没有输出呢?
function dispalert() {
var j = a == true;
document.write(j);
}变量a没有定义,应该为false,为什么什么都没有输出呢?
解决方案 »
- jquery想要查找data='number'这样parent.find("a[data='number']")为什么不行
- 如何修改数据库的同时更新js(javaScript)文件
- 新开窗口session问题
- 一个特效的写法
- 在火狐中如何用JS获得第一个下来菜单的“D1 ”这个对象的值
- 鼠标控制表格问题二(求javascript)
- 图片加载时鼠标为漏斗状,我想让它为默认状
- IE选项中有一个<applet>,如果不选中,applet执行会有问题,能否从html中设置选中?
- 关于JBUILDER6 ENTERPRISE EDITION
- jqgrid增加、编辑和删除问题
- 怎么用js永久性的修改页面
- 请问,这段代码输出什么?
var a
var j = a == true;
document.write(j);
}
dispalert()
你这句话var a=b==true;有问题
你这里的B没有声明。而是做为一个(未声明)的变量放到A里面去,
个人觉得这应该是一种运行错误吧,不存在编译问题。
如果是单独写B的话,JS会为他们自动加上声明,你这里纯粹是一个运算过程了,根本就没有声明他,所以可以算作一种错误的写法,自然JS就会运行出错了。
我把代码改了。,你可以运行了关键看变量B第一次出现的位置吧
<script>
var a;
b=a;//你刚才写的实际是a=b;但是这里B其实未定义,如果是B=A,那么A已经定义了,然后把值赋给Bif(a==true){
document.write("1");
}
else
{
document.write("b");
}
</script>