函数闭包显示外部函数的变量

function closure show up variable of outer function

本文关键字:函数 变量 显示 闭包 外部      更新时间:2023-09-26

你好,我正在尝试关闭,但无法弄清楚如何在点击图像之前打印出"10个喜欢" ?有人能帮我解决这个问题吗?

var clickCount = (function() {
	var clickCounter = 10; //start from 10 likes
	return function() {
		var amountOfLikes = document.getElementById("counter");
		amountOfLikes.innerHTML =  clickCounter + " likes"; //increment the likes
		clickCounter++;
	}
})();
  <img src="http://image.flaticon.com/icons/png/128/148/148836.png" id="like_button" alt="like-button" onclick="clickCount()"/><span id="counter"></span>

几点建议:

    永远不要把标记和javascript混在一起
  1. 尝试在javascript中处理事件
  2. 你不需要闭包。你可以在标记上设置10个"喜欢",然后点击,继续增加
  3. 的值

window.onload = function() {
  document.getElementById("counter").addEventListener('click', clickCount);
}
function clickCount() {
  var amountOfLikes = document.getElementById("counter");
  var likes = parseInt(amountOfLikes.innerHTML, 0);
  amountOfLikes.innerHTML = likes + 1;
}
<img src="http://image.flaticon.com/icons/png/128/148/148836.png" id="like_button" alt="like-button" onclick="clickCount()"/><span id="counter">10 </span> likes

希望能有所帮助