<script language="javascript" >
window.onload=function(){
if(document.getElementById){
...........................
} //请问一下getElementById是个方法 为什么不加()呢,,,,
}
</script>
解决方案 »
- 一个关于JS获取元素标签id的问题,高分求教
- 求助:怎么用js来删除一个长字符串的一个子串呢?
- 删除TextBox的内容如:2011-07-01 删除“-01” 结果是:2011-07
- 菜鸟请教这个FLASH幻灯为什么在FIREFOX下不显示
- 高手们哪,字符串倒
- 这种动画效果是怎样做出来的?
- window.external.setContextMenu(MenuItems)怎么用啊?(在线等)!!!
- 如何控制页面背景图片显示的时间?
- 在表单中,如何根据用户对一个表单项的选择,决定如何显示另一表单项,而其他表单项中已经填好的内容不变?
- javascript中怎么能重写内置方法而不影响原方法?
- jquery问题
- javascript关于函数调用运算符的疑问
简单的解释下
if(document.getElementById) { //如果document.getElementById存在,即不是undefined或null的话。
//通常会在这个里面调用这个方法。
}//这样做的目的是为了防止调用一个方法,而这个方法不存在而出现的错误
alert(window.op)// undefined 说明这个对象属性不存在 如果是个方法,,
考虑这样的代码var a = {
test1 = function() {},
test2 = "abcdef"
}test1和test2都是a的属性
不过test1是可执行的。即他的值是一个函数。
同样对待
是获取ID
var doc = new Object();
doc.getElementById = function(){
alert('我是doc的getElementById方法。我执行了~');
}
if(doc.getElementById){
alert(true);
}else{
alert(false);
}
if(doc.getElementById()){
alert(true);
}else{
alert(false);
}javascript中 括号()代表执行括号前的函数。
javascript中数据的类型中有一种Function类型,这种类型的数据在使用括号执行后返回return语句返回的内容,如果没有return,则默认返回undefined,undefined转换成布尔值就是 false;
javascript中的对象的方法可以看做是该对象的属性,只是这个属性的数据类型是Function类型。
doc.getElementById如果存在,实质上就是是一个Function类型数据,转换成布尔值是true;
doc.getElementById()实质上是这个函数执行后的结果,就是return出来的东西,我这个例子函数没return,就是undefined。document的getElementById函数的返回值是一个element,但是你用括号执行的话,没有传递足够参数,应该报错或者是return null(没测试,自己试试吧。),转换成布尔值永远是false
//通常会在这个里面调用这个方法。
}
大虾说的很明显了.
如果是带括号的话,那就变成函数调用了。