html js vue 函数加不加括号

html 在标签里事件绑定

img


为什么p标签里是加括号的啊 不看参数 他不是回调函数吗 应该不加括号把
相比vue

img


他就是回调函数不加括号
那到底啥时候加括号 啥时候不加

你好 在原生js中
你申明了 一个afun 方法 afun等于这个函数本身 afun()等于调用这个函数 因此 在点击事件上是要加( ) 表明你要调用
而在vue中 实际内部已经给你处理了 你加不加都是可以的 你不加也能调用,并且包含一个默认参数.
正常情况是调用都要加() ,vue帮你处理了一下,看着是没加,实际的等于加了

在JavaScript中,函数可以直接使用函数名来调用,也可以在函数名后面加上括号来调用

function sayHello() {
  console.log('Hello!');
}

sayHello(); // 加括号调用
sayHello;   // 不加括号调用

定义一个函数sayHello(),然后分别使用加括号和不加括号两种方式来调用这个函数。
这两种方式的效果是一样的,都会执行这个函数。

在HTML中,如果直接在标签里绑定事件,需要在事件处理程序后面加上括号,因为这个事件处理程序是一个函数调用。

<button onclick="sayHello()">Click me!</button>

在button标签里使用onclick属性绑定了一个点击事件处理程序,这个事件处理程序是一个函数调用,需要在函数名后面加上括号。

如果使用JavaScript代码来绑定事件,则不需要加括号,因为这个事件处理程序是一个函数对象

<button id="myButton">Click me!</button>
<script>
  const myButton = document.getElementById('myButton');
  myButton.addEventListener('click', sayHello);
</script>

使用JavaScript代码获取了button元素,并使用addEventListener()方法绑定了一个点击事件处理程序,这个事件处理程序是一个函数对象,不需要加括号。

相比Vue等现代前端框架,HTML的事件绑定方式相对简单和直接,但也更容易出现耦合和混乱的情况。在实际开发中,可以根据具体情况选择适合的事件绑定方式。

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7577196
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:js去掉html字符串中的所有标签元素,结合vue表达式使用
  • 除此之外, 这篇博客: js 通过摄像头识别二维码,可以控制闪光灯。原生 HTML 调用摄像头,有 原生HTML + JS 版本 和 VUE3 + TS 版本与 uniapp 版本中的 使用到的相关技术 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    1. navigator.mediaDevices.getUserMedia 用于唤起摄像头,并且获取到摄像头的视频流数据

      文档地址:MediaDevices.getUserMedia()

      此 API 必须要 HTTPS 环境才能调用,所以就必须要我们的测试环境与生成环境都配置 HTTPS,测试环境如果是 VUE 或者 UNIAPP 就直接在 DEV SERVER 中进行配置就可以了,原生的话推荐使用 VS CODE 中的 Live Server 插件生成假的证书进行配置与启动服务

         "liveServer.settings.https": {
              "enable": true,
              "cert": "D:\\vsCode\\https\\example.com+5.pem", //本地证书地址
              "key": "D:\\vsCode\\https\\example.com+5-key.pem", //本地密钥地址
              "passphrase": ""
          },
      
    2. jsQR.js 用于对图片中的二维码进行解析

      GitHub地址:cozmo/jsQR

      一款大佬写的开源库。

    3. canvas 标签 这个算是 HTML 基础吧

    4. viod 标签 基础中的基础

  • 以下回答由chatgpt基于相关博客总结生成:

    回答: 在HTML中,如果是事件绑定,需要在函数名后加括号,因为它是一个回调函数,需要在事件触发时调用。例如:<button onclick="myFunction()">点击</button>。如果是在script标签中,需要根据具体情况来决定是否需要加括号,如果需要立即执行函数,则需要加上括号,例如:(function(){...})()。如果是定义函数,则不需要加括号。

    在JS中,调用函数时需要加括号,例如:myFunction();。如果只是给函数名赋值,不会调用函数,则不需要加括号。

    在Vue中,在事件绑定时,只需要写函数名,不需要加括号,因为Vue会在事件触发时自动调用这个方法。例如:<button v-on:click="myFunction">点击</button>。如果需要给函数传递参数,则需要使用箭头函数或者bind方法来绑定参数,例如:<button v-on:click="myFunction(param)">点击</button>,然后在Vue实例中定义myFunction函数并接受参数即可。你可以在methods属性中直接定义这个函数,也可以在Vue实例外先定义这个函数再传入methods属性。

    结论:在HTML中,只有在事件绑定时需要加括号,其他情况下不需要;在JS和Vue中,一般情况下需要加括号,除非只是给函数名赋值或者在Vue中绑定事件时不需要传递参数。