gpt4 book ai didi

javascript - 如何将 onclick 与函数表达式而不是声明的函数一起使用?

转载 作者:数据小太阳 更新时间:2023-10-29 04:17:02 26 4
gpt4 key购买 nike

我有一个按钮

var startButton = $('#startButton').get(0);

我将 vanilla javascript onclick 方法附加到按钮并在单击时调用开始。

startButton.onclick = start;

我想使用函数表达式但是(由于提升?)这不会调用 start

var start = function() {
console.log('requesting local stream');
startButton.disabled = true;
getUserMedia(constraints, gotStreamSuccess, errorCallback);
}

一个声明的函数做

function start() {
console.log('requesting local stream');
startButton.disabled = true;
getUserMedia(constraints, gotStreamSuccess, errorCallback);
}

我该怎么写

startButton.onclick = start;

以便它与函数表达式一起工作?

谢谢

最佳答案

我同意你的看法,这是一个提升问题,在设置 startButton.onclick = start; 之前,你必须检查你的代码以适本地提升它。

这是MDN不得不说的语法: Syntax for on click

它特别提到函数既可以声明也可以表达。对我来说,这又会导致提升,因为函数声明会自动提升。

MDN onclick 使用函数声明。我更改了此 JSFiddle 中的示例使用函数表达式,如您所愿。通过适当的提升,它会在您单击按钮时调用正确的方法。

关于javascript - 如何将 onclick 与函数表达式而不是声明的函数一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27556172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com