社区
JavaScript
帖子详情
请帮帮我呀
archer123
2003-01-27 11:41:14
请问大侠下面的代码中duihua是一个无参数的函数
为什么它的后面不打括号?
只要一打括号就出错为什么呀?
"window.onresize=duihua;"
还有象下面的条件语句,其中prefs是定义的一个window方法
有这样写条件语句的吗,为什么?
"if (prefs) {...}"
...全文
89
13
打赏
收藏
请帮帮我呀
请问大侠下面的代码中duihua是一个无参数的函数 为什么它的后面不打括号? 只要一打括号就出错为什么呀? "window.onresize=duihua;" 还有象下面的条件语句,其中prefs是定义的一个window方法 有这样写条件语句的吗,为什么? "if (prefs) {...}"
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
emu
2003-01-27
打赏
举报
回复
在html代码中间写事件响应函数是要加上括号,因为浏览器会试图用 “onEventName=” 后面的字符串来生成一个新的函数再吧事件指向该函数。
在js代码中间写响应函数则不加括号,因为js引擎试图直接事件指向 “onEventName=” 后面的函数对象。
看看下面的例子:
<button onclick="alert('test1')">test1</button>
<button id=test2>test2</button>
<button id=test3>test3</button>
<script defer>
test2.onclick=new Function("alert('test2')");
function test_3(){
alert("test3");
}
test3.onclick=test_3;
</script>
zxhong
2003-01-27
打赏
举报
回复
如果该方法返回的是boolean型(true,false)是可以的
emu
2003-01-27
打赏
举报
回复
要返回结果就加括号,要函数对象就不加。
archer123
2003-01-27
打赏
举报
回复
函数返回的结果和一个函数对象哪种情况下加括号?
archer123
2003-01-27
打赏
举报
回复
可以就具体情况多举几个例子对照说明一下吗
非常感谢大侠!
archer123
2003-01-27
打赏
举报
回复
emu(ston) 大侠可以再详尽说明下
是否只有是事件响应函数的时候才这样处理?
对于一般类型的函数也一样吗?
还能这样用吗?
emu
2003-01-27
打赏
举报
回复
要看具体情况。
要区分一个地方到底是需要一个函数返回的结果,还是需要一个函数对象。
archer123
2003-01-27
打赏
举报
回复
是否只有是事件响应函数的时候才这样处理?
对于一般类型的函数也一样吗?
还能这样用吗?
emu
2003-01-27
打赏
举报
回复
那是因为你还没吃透呀。看看下面的test4:
<BODY>
<button onclick="alert('test1')">test1</button>
<button id=test2>test2</button>
<button id=test3>test3</button>
<button id=test4>test4</button>
<script defer>
test2.onclick=new Function("alert('test2')");
function test_3(){
alert("test3");
}
test3.onclick=test_3;
function test_4(){
return new Function('alert("test4");');
}
test4.onclick=test_4();
</script>
</BODY>
仔细想想我为什么这么写。
archer123
2003-01-27
打赏
举报
回复
为什么将下面的一行代码改为 test3.onclick=test_3();会报错呀
对于无参数函数是可以加上小括号的呀.
请大侠赐教
请大侠赐教
请大侠赐教
请大侠赐教
zxhong
2003-01-27
打赏
举报
回复
不好意思,我说错了
emu大侠说的对
archer123
2003-01-27
打赏
举报
回复
为什么将下面的一行代码改为 test3.onclick=test_3();会报错呀
对于无参数函数是可以加上小括号的呀.
请大侠赐教
emu
2003-01-27
打赏
举报
回复
--------------------------------------------------------
还有象下面的条件语句,其中prefs是定义的一个window方法
有这样写条件语句的吗,为什么?
"if (prefs) {...}"
--------------------------------------------------------
这句的意思是,如果prefs已经被定义(非null非false)则条件满足。跟prefs的返回类型无关。
<SCRIPT LANGUAGE="JavaScript">
<!--
function test(){if (prefs) alert("prefs is defined and is not false !"); else alert("prefs is not defined yet or is defined as false!");}
function prefs(){};
test();
prefs=null;
test();
prefs=1;
test();
prefs=false;
test()
prefs=true;
test();
//-->
</SCRIPT>
幼儿园小班社会教案《谁来
帮帮我
》含反思页.pdf
幼儿园小班社会教案《谁来
帮帮我
》含反思页.pdf
【创意幼教】最新幼儿园大班语言活动教案:
请
你快来
帮帮我
教案附教学反思(四篇).pdf
【创意幼教】最新幼儿园大班语言活动教案:
请
你快来
帮帮我
教案附教学反思(四篇).pdf
(完整版)武汉版信息技术五年级第1课
请
你快来
帮帮我
教案.pdf
(完整版)武汉版信息技术五年级第1课
请
你快来
帮帮我
教案.pdf
幼儿园小班社会教案《谁来
帮帮我
》含反思.docx
幼儿园小班社会教案《谁来
帮帮我
》含反思.docx
大班语言活动教案:
请
你快来
帮帮我
教案(附教学反思).pdf
JavaScript
87,996
社区成员
224,693
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章