JS:为什么变量放置会破坏我的代码
JS: Why does variable placement break my code?
我正在尝试一个系统,当您单击按钮时,它会变成active
状态。然后,当您单击屏幕上的其他按钮时,如果您的"活动",将发生另一个事件而不是常规事件。
我让它工作,但我对某些事情感到困惑。这是工作代码:
dom.el("skill").onclick = active;
function active(){
active = true;
}
var active = false;
将全局变量active
放在列表底部解决了问题,但我最初将其放在最顶部,这不起作用。
var active = false;
dom.el("skill").onclick = active;
function active(){
active = true;
}
为什么这个不起作用?对我来说,它们实际上是相同的,只是顺序不同。
查看术语"提升"。这是因为您的函数声明被提升,因此它被移动到顶部。初始化不会被提升,因此var active = false
保留在您放置它的位置。
在第一种情况下,首先进行函数声明,然后将函数设置为onclick处理程序。
在第二种情况下,将false
设置为处理程序。
变量和函数使用不同的名称可能是个好主意。
var active = false; dom.el("skill").onclick = function (){ active = true; }
这就是你应该怎么做。在某些情况下,对函数和布尔值使用相同的变量可能会起作用,但这不是一个好的风格。只是不要这样做。
相关文章:
- 元素在我的代码中不会.fadeTo.Don'I don’我不知道;s错误的JavaScript、JQuery、H
- 验证我的代码json
- 如何创建更好的方式来维护基于我的代码访问的最后一个页面
- 我不知道为什么我的代码是错误的?又有什么错
- 我需要一个jQuery函数来只工作在700px以上的屏幕大小,无法在我的代码中发现错误
- I'我不知道为什么我的代码没有'不起作用
- 为什么动态加载的事件在我的代码中不能正常工作
- 如何禁用我的切换按钮?这是我的代码
- 我需要将条形图集成到我的代码中
- onbeforeunload事件在我的代码中没有触发,但其他示例可以工作
- 我的代码在<脚本>标记,但没有'不能在外部文件中工作
- 在我的代码中,实体类"卡片展示”;不起作用
- Webrtc和socket.io:createanswer()总是有一个错误.为什么?我的代码连接了两个对等体,但其中只
- 我的代码很完美,但我现在不知道为什么我发现了问题
- Html、css和jQuery.我的代码有问题
- 鼠标事件,我的代码出了什么问题
- 我怎样才能修复我的代码,以便<罢工>不会使我的 Javascript 代码无效
- 如何在我的“代码块”中使表格 Squarespace 网站响应式
- 如何使我的代码更快
- 在我的代码中管理大量硬编码数据的最佳方法