JavaScript 如何调用一个没有括号的函数

JavaScript 如何调用一个没有括号的函数

方法1:使用new 运算符

new 运算符用于创建一个具有构造函数的对象实例。这个构造函数可以用来编写我们自己的函数,然后通过new运算符进行调用。当使用这个运算符时,括号是可选的,因此即使没有括号,函数也会被调用。

语法:

new exampleFunction

示例:

<body> 
    <h1 style="color: green"> 
        GeeksforGeeks 
    </h1> 
    <b> 
        How to invoke a function 
        without parentheses? 
    </b> 
    <p class="output"></p> 
      
    <script type="text/javascript"> 
        function exampleFunction() { 
            document.querySelector(".output").textContent 
                = "The function was called!"; 
        } 
          
        // Using the new operator 
        new exampleFunction; 
    </script> 
</body>

输出:

JavaScript 如何调用一个没有括号的函数

方法2:使用标记的模板字面量

标记的模板字面量是在JavaScript ES6中引入的模板字面量的一个用例。它允许在使用模板字面量时直接使用函数。可以通过在字面量中传递参数来使用它。要调用一个函数,需要将函数名与反引号 ()一起写在一起,以表示它是标记的模板字面量。

语法:

exampleFunction``

示例:

<body> 
    <h1 style="color: green"> 
        GeeksforGeeks 
    </h1> 
    <b> 
        How to invoke a function 
        without parentheses? 
    </b> 
    <p class="output"></p> 
      
    <script type="text/javascript"> 
        function exampleFunction() { 
            document.querySelector(".output").textContent 
                    = "The function was called!"; 
        } 
          
        // Using tagged template literals 
        exampleFunction``; 
  </script> 
</body>

输出:

JavaScript 如何调用一个没有括号的函数

方法3:修改toString()方法

toString()方法在需要进行字符串转换时被调用。可以创建一个对象,将toString()方法修改为调用所需的函数。可以通过与空字符串进行拼接来使用这个对象来调用toString()方法。这将强制调用toString()方法,进而调用指定的函数。

语法:

let tempObj = {
    toString: exampleFunction
}

'' + tempObj;

示例:

<body> 
    <h1 style="color: green"> 
        GeeksforGeeks 
    </h1> 
    <b> 
        How to invoke a function 
        without parentheses? 
    </b> 
    <p class="output"></p> 
      
    <script type="text/javascript"> 
        function exampleFunction() { 
            document.querySelector(".output").textContent 
                = "The function was called!"; 
        } 
          
        let tempObj = { 
        toString: exampleFunction 
        } 
          
        // Forcing the modified 
        // toString function to be invoked 
        '' + tempObj; 
    </script> 
</body>

输出:

JavaScript 如何调用一个没有括号的函数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程