javascript 函数表达的问题 fun跟fun()有什么不同?

正在看书,遇到疑问了。有段代码,实现自动更新onload事件,代码本身没问题,我的疑问在代码后面。这里第4行只用了"func",而倒数第4行则多了括号,变成"func()... 正在看书,遇到疑问了。有段代码,实现自动更新onload事件,代码本身没问题,我的疑问在代码后面。这里第4行只用了"func",而倒数第4行则多了括号,变成"func()",不明白为何前面可以省略括号,或者说,为何后面要加括号?我试过加括号或去掉,都出错导致脚本无效。疑问还没结束。假设有一个函数如下:函数名能否出现数字我不知道,暂时不管这个问题,现在函数定义了,一般写都是写"fun1()"吧,至少这样子看得出来是函数而不是变量。但是,继续开头的代码,在添加func1时是这样写的:这里又不用写括号了,如果加上括号又是出错。究竟什么道理可以不写括号,什么时候又应该写括号?初学者表示很纠结啊! 展开
 我来答
一年孤独58aa
2017-10-20 · TA获得超过1404个赞
知道小有建树答主
回答量:592
采纳率:92%
帮助的人:435万
展开全部

JavaScript中的函数的使用包括下面这3个方面, 声明函数, 传递函数, 调用函数. 具体示例如下:

//1. 声明函数:
function func(){
    console.log('执行了函数');
}

//2. 调用函数: 这时要带括号
func(); //即执行函数内部的代码, 如果不调用函数, 函数内部代码不会执行;

//3. 传递函数: 将函数当作变量一样传递, 不需要带括号.
//示例1:
var func2 = func; 
func2(); 

//示例2:
function func3(value, fn){
    if(value > 10){
        fn();
    }
}
func3(5, func); //将func作为参数传递给了函数func3
func3(10, func);
甄厹惠5O
2014-07-14 · TA获得超过136个赞
知道答主
回答量:153
采纳率:100%
帮助的人:65万
展开全部
基本上知道怎么回事了。有没有括号会影响函数是否执行,没括号时赋值,是把整个函数作为一个整体赋值,有括号时,会把函数执行后的结果作为最终结果来赋值。当赋值时有括号,如使用func(),由于没有返回值,会出现undefined的情况。表述上可能不严谨,大概就是这个意思了不。噢,还有一件事,某人拿了赏金后人间蒸发了,所以最佳答案没有在这里出现 查看原帖>>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式