gpt4 book ai didi

Javascript 闭包不起作用?

转载 作者:行者123 更新时间:2023-11-30 11:41:36 25 4
gpt4 key购买 nike

我正在尝试在 javascript 中实现 clojure。谁能看出问题出在哪里?

 var a = (
function()
{
var privateFunction = function()
{
alert('Hello');
}

var OsmanFunction = function()
{
alert('Osman');
}
return
{
publicFunction: function()
{
privateFunction();
}

OsmanFunction: function()
{
OsmanFunction();
}
}})();
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>

<body>
<p> <a href="#" id="hitme" onclick="a.OsmanFunction()">Please hit me</a></p>
</body>
</html>

最佳答案

您需要格式化您的代码。真的。

var a = (
function () {
var privateFunction = function () {
alert('Hello');
};

var OsmanFunction = function () {
alert('Osman');
};
return {
publicFunction: function() {
privateFunction();
},
OsmanFunction: function() {
OsmanFunction();
}
};
})();

document.getElementById("hitme").addEventListener('click', a.OsmanFunction);

这是工作版本。

但是...在您的代码中:

return
{

您不能将返回对象转移到下一行。

函数之间的返回对象没有“,”

{
publicFunction: function()
{
privateFunction();
}

OsmanFunction: function()
{
OsmanFunction();
}
}

a 未定义。请注意你的代码,你为其他开发人员编写代码,他们将支持你的项目,而不是为机器编写代码。

关于Javascript 闭包不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42438441/

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