浅谈js中调用函数时加不加括号的问题

 更新时间:2016年07月28日 09:14:18   投稿:jingxian  
下面小编就为大家带来一篇浅谈js中调用函数时加不加括号的问题 。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

其实总结起来如下:

函数只要是要调用它进行执行的,都必须加括号。此时,函数()实际上等于函数的返回值。当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码。

不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。

所以一般时候我们都是采用的是无括号的原因。这也是由于括号的二义性,因为括号是“函数调用运算符”,相当于在执行这样一个函数,所以产生的问题在理解了之后也就理解了。

另外:除了两边不加括号,也可以两边都加括号来实现函数的拷贝,而不是执行函数,如果左边无圆括号右边有圆括号,实际就是相当于产生的是一个属性而不是一个方法了,在调用的时候只用属性名或者函数名,而不需要再用函数调用运算符圆括号了,因为它就相当于一个属性,当然也可以用函数调用的方式来调用,加上括号,拿上例子来说就是如果写成person.sayHello =sayHi(),在调用sayHello的时候就可以直接用person.sayHello或者person.sayHello()了,二者都实现相同的效果。

百度知道的回答:

函数只要是要调用它进行执行的,都必须加括号。此时,函数()实际上等于函数的返回值。当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码。

不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。

以上这篇浅谈js中调用函数时加不加括号的问题 就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • JS中的Date()使用小结

    JS中的Date()使用小结

    Date() 日期对象是一个构造函数必须使用new来调用创建我们的日期对象,本文给大家介绍JS中的Date()使用小结,感兴趣的朋友一起看看吧
    2024-01-01
  • 深入剖析JavaScript中的枚举功能

    深入剖析JavaScript中的枚举功能

    本篇文章主要是对JavaScript中的枚举功能进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-03-03
  • JavaScript使用Math.random()生成简单的验证码

    JavaScript使用Math.random()生成简单的验证码

    今天小编就为大家分享一篇关于JavaScript使用Math.random()生成简单的验证码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • JS实现简易的图片拖拽排序实例代码

    JS实现简易的图片拖拽排序实例代码

    这篇文章主要介绍了JS实现简易的图片拖拽排序实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例

    js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例

    本篇文章主要介绍了js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示,具有一定的参考价值,有兴趣的同学可以了解一下。
    2016-12-12
  • JS 数组和对象的深拷贝操作示例

    JS 数组和对象的深拷贝操作示例

    这篇文章主要介绍了JS 数组和对象的深拷贝操作,结合实例形式分析了JS 数组和对象的深拷贝基本原理与操作技巧,需要的朋友可以参考下
    2020-06-06
  • 微信小程序防止多次点击跳转(函数节流)

    微信小程序防止多次点击跳转(函数节流)

    这篇文章主要介绍了微信小程序防止多次点击跳转问题(函数节流),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • echart在微信小程序的使用简单示例

    echart在微信小程序的使用简单示例

    最近公司的项目中需要在小程序内使用echarts组件来展示数据,下面这篇文章主要给大家介绍了关于echart在微信小程序的使用方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • JavaScript 放大镜 放大倍率和视窗尺寸

    JavaScript 放大镜 放大倍率和视窗尺寸

    对JavaScript 放大镜来说, 计算倍率必不可少.一个完整的放大镜结构里, 与倍率扯上关系的一共有 4 个对象, 原图, 缩略图, 镜片和视窗.
    2011-05-05
  • 利用进制转换压缩数字函数分享

    利用进制转换压缩数字函数分享

    本文主要介绍了进制转换函数,用于压缩数字,比如Date.now()这样的长数字,用62进制表示,就更短,大家参考使用吧
    2014-01-01

最新评论