`

JS函数中带与不带括号的区别

    博客分类:
  • JS
 
阅读更多
JS函数中带与不带括号的区别
其实总结起来如下:
函数只要是要调用它进行执行的,都必须加括号。此时,函数()实际上等于函数的返回值。当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码。
不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。



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


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


get 是函数自身, get() 是运行函数

var x=get;

那么 x 和 get 是等同的

var x=get();

那么 x 是 函数 get 的返回值

例如

function get(){return 1}
var x=get(); 那么 x 就等于 1 咯

如果是

var x=get;

那么

var y=x(); 和 var y=get(); 都是等价的。
.







分享到:
评论

相关推荐

    基于js里调用函数时,函数名带括号和不带括号的区别

    当我们谈论“函数名带括号”和“不带括号”的区别时,实际上是在讨论函数的调用与引用的区别。 首先,我们要明白函数调用的基本形式。在JavaScript中,当你在函数名后加上一对括号 `()`,这就是执行或调用该函数的...

    计算器运算逻辑实现(带括号,求余,乘方,加减乘除),不使用eval函数-前端JavaScript 源码实现-括号匹配与初等运算

    在JavaScript中,括号用于改变运算顺序,表达式`a * (b + c)`会先计算括号内的`b + c`,然后将结果与`a`相乘。乘方运算(**)的优先级高于乘法和除法,而加法和减法的优先级相同,从左到右进行计算。求余运算(%)是...

    详谈构造函数加括号与不加括号的区别

    总结一下,构造函数加括号与不加括号的区别在于它们如何处理成员方法的调用。加括号的调用通常用于静态方法,而不需要创建新对象;不加括号的调用则用于实例方法,需要先通过`new`关键字创建对象。在编写代码时,...

    JS中关于事件处理函数名后面是否带括号的问题

    在JavaScript中,函数名后面加括号与不加括号的差异影响了函数的调用时机。 当你在函数名后面加上括号时,比如`fun1()`,这代表立即执行该函数。如果函数有返回值,那么它会得到那个值。如果在事件处理中使用这种...

    Javascript中 带名 匿名 箭头函数的重要区别(推荐)

    在JavaScript中,有三种主要的函数定义方式:带名函数、匿名函数和箭头函数。每种函数类型都有其特定的用途和特点。 1. **带名函数**: 带名函数在定义时有一个明显的函数名称,例如`function abs(x) {...}`。这种...

    javascript中的括号()用法小结.docx

    JavaScript中的括号`()`在编程中扮演着多种角色,它们不仅仅是数学运算中的基本符号,更是JavaScript语法中的关键组成部分。下面是对括号在JavaScript中不同用途的详细解释: 1. **提高运算优先级**: 在...

    JavaScript程序设计-Javascript中的函数的声明.pdf

    **JS中函数参数的特殊性** - 函数声明的参数可以不传递,内部可以使用`arguments`对象来访问所有传入的实际参数,它是一个类数组对象。 - 形参和实参数量可以不同,`arguments`对象可以帮助处理不确定数量的参数...

    IDEA花括号插件

    在编写复杂的代码时,特别是在大项目中,快速准确地找到匹配的括号可以大大提高工作效率,避免因括号不匹配导致的错误。"IDEA花括号插件"正是为了解决这一问题,它通过将邻近的括号用不同颜色高亮显示,使得代码结构...

    js函数验证

    ### JavaScript 函数验证知识点 #### 一、字符串处理函数 1. **`LTrim`**:去除字符串左侧的空白字符。 - **定义**:此函数接收一个字符串参数,并返回一个新的字符串,该字符串已移除所有左侧空白字符(包括空格...

    JS检测中文和全角符号JS代码

    ### 二、JavaScript函数的基本使用 示例代码中定义了两个名为 `isSBCcase` 的函数,分别用于检测全角符号和中文字符。 #### 2.1 函数声明 函数使用 `function` 关键字进行声明,后面跟函数名和参数列表。 - `...

    深入研究JavaScript的匿名函数.doc

    在JavaScript中,匿名函数通常通过`function`关键字定义,但不提供名称。例如: ```javascript (function() { // 函数体 })(); ``` 这里的匿名函数被立即执行,因为后面跟着一对圆括号。这种模式常被称为立即执行...

    javascript笔记之匿名函数和闭包

    在JavaScript中,我们可以直接定义一个不带名称的函数表达式,例如: ```javascript // 会报错,因为缺少分号 // function(){} // 将匿名函数赋值给变量 var fun = function() {}; // 匿名函数自执行 (function()...

    关于JS中的方法是否加括号的问题

    而带括号的函数(如`Fun()`)是函数的执行,它会立即执行函数体内的代码并返回结果(如果有返回值的话)。 5. **回调函数与事件处理**: 在JavaScript中,经常将函数用作回调,比如在异步操作中。在这种情况下,...

    深入浅析JavaScript函数前面的加号和叹号

    )在JavaScript函数前的使用,主要是为了将函数表达式转换为IIFE,以实现代码的封装和立即执行。这种方法在编写模块化、无污染的JavaScript代码时特别有用。而选择加号还是叹号,则更多是个人风格和对结果取反需求的...

    JS中创建函数的三种方式及区别

    与函数声明相对的是函数表达式,这种方式定义的函数可能不包含函数名(匿名函数表达式),或者函数名仅在表达式内部有效(局部函数名)。函数表达式可以赋值给变量,也可以立即执行(IIFE,立即调用函数表达式)。 `...

    JS中的eval 为什么加括号

    在标题和描述中提到的"JS中的eval为什么加括号",这个问题通常与如何正确地使用`eval`来解析JSON字符串有关。 在JavaScript中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于...

    Javascript中匿名函数的调用与写法实例详解(多种)

    JavaScript中的匿名函数是一种没有名称的函数,通常用于一次性执行或者作为其他表达式的一部分。它们在JavaScript编程中扮演着重要角色,特别是在回调、闭包和模块化等场景中。以下是各种匿名函数的调用与写法的详细...

Global site tag (gtag.js) - Google Analytics