扫码关注官方订阅号
function Foo(){ } Foo.prototype.a = 1 var f1 = new Foo var f2 = new Foo() console.log(f1.a,f2.a)
如上面的代码,new Foo的时候为什么可以加括号也可以不加括号?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
var f1 还可以不写var呢,我觉得是编写代码的人为了照顾一些人的习惯多增加了一种写法
函数只要是要调用它进行执行的,都必须加括号。此时,函数()实际上等于函数的返回值。当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码。不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。
楼上所说的正解,不过,一般为了严谨代码结构,或者给后面维护代码的人一种直观的感觉,最好都按大多数人的写法就写吧,不要一位的追求自己的代码只有自己看的懂的就是大神,这个事错误的。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
var f1 还可以不写var呢,我觉得是编写代码的人为了照顾一些人的习惯多增加了一种写法
函数只要是要调用它进行执行的,都必须加括号。此时,函数()实际上等于函数的返回值。当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码。
不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。
楼上所说的正解,不过,一般为了严谨代码结构,或者给后面维护代码的人一种直观的感觉,最好都按大多数人的写法就写吧,不要一位的追求自己的代码只有自己看的懂的就是大神,这个事错误的。