javascript 简单问题 <script language="javascript" > window.onload=function(){ if(document.getElementById){........................... } //请问一下getElementById是个方法 为什么不加()呢,,,, }</script> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果不加()的话 就是不执行该方法了呗简单的解释下if(document.getElementById) { //如果document.getElementById存在,即不是undefined或null的话。 //通常会在这个里面调用这个方法。}//这样做的目的是为了防止调用一个方法,而这个方法不存在而出现的错误 检测一个对象的属性 alert(window.op)// undefined 说明这个对象属性不存在 如果是个方法,, 方法也是一样阿考虑这样的代码var a = { test1 = function() {}, test2 = "abcdef"}test1和test2都是a的属性不过test1是可执行的。即他的值是一个函数。同样对待 楼主这里是检测document.getElementById document.getElementById是获取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 if(document.getElementById) { //如果document.getElementById存在,即不是undefined或null的话。 //通常会在这个里面调用这个方法。}大虾说的很明显了. 这里是检测document.getElementById是否存在,如果是带括号的话,那就变成函数调用了。 想在用户输入时间点击提交后,判断是否为YYYYMMD的时间格式 怎样看别人写的代码? 关于form 和frame的问题??????????? js实现从剪贴板粘图片到textArea 或div 最最简单的我现在都不会了,请大家帮我看看!! 如何实现iframe的自适应高度 解决给分, 有经验者看看!1 在不修改firefox的安全策略前提下如何能预览通过input type="file"获得的本地图片? 关于用SCRIPT函数实现折叠区域的问题 一段循环之后IE就死掉了,困惑,求助! 怎样用JS模拟IE的刷新按钮? 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
//通常会在这个里面调用这个方法。
}
大虾说的很明显了.
如果是带括号的话,那就变成函数调用了。