node.js - javascript中的函数到底是什么东西?
高洛峰
高洛峰 2017-04-11 10:50:50
[JavaScript讨论组]
function Foo(){

}

Foo.prototype.a = 1

var f1 = new Foo
var f2 = new Foo()

console.log(f1.a,f2.a)

如上面的代码,new Foo的时候为什么可以加括号也可以不加括号?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
ringa_lee

var f1 还可以不写var呢,我觉得是编写代码的人为了照顾一些人的习惯多增加了一种写法

天蓬老师

函数只要是要调用它进行执行的,都必须加括号。此时,函数()实际上等于函数的返回值。当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码。
不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。

迷茫

楼上所说的正解,不过,一般为了严谨代码结构,或者给后面维护代码的人一种直观的感觉,最好都按大多数人的写法就写吧,不要一位的追求自己的代码只有自己看的懂的就是大神,这个事错误的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号