使用if语句调用函数

我希望能够在if语句中调用函数。

例如:

var photo = "yes"; if (photo=="yes") { capturePhoto(); } else { //do nothing }; 

这没什么。 该函数在if语句之上明确定义。

编辑:哇,下到地狱! capturePhoto(); 只是一个示例函数,在这种情况下真的不需要更多的解释?

这应该工作。 也许capturePhoto()有错误? 插入alert()console.log()

 var photo = "yes"; if (photo == "yes") { alert("Thank you StackOverflow, you're a very big gift for all programmers!"); capturePhoto(); } else { alert("StackOverflow.com must help me!"); } 

你可能错过了一些东西,一个引号,一个分号或类似的东西。 我建议你使用像Firebug这样的调试器,甚至是谷歌Chrome的Web开发者工具。 您将知道您的代码有什么问题以及错误的地方。

您可以查看上面代码的实时代码: http : //jsfiddle.net/ZHbqK/

代码看起来很好(除了你不需要;在最后一行的末尾)。 检查错误日志; 也许浏览器认为capturePhoto 由于某种原因没有定义。 您还可以添加alert语句以确保代码实际运行:

 var photo = "yes"; alert('Entering if statement'); if (photo=="yes") { alert('then'); capturePhoto(); } else { alert('else'); //do nothing } 

当您遇到基本语言function似乎不起作用的情况时,请获取有关正在发生的事情的更多信息。 这几乎不是平台的错。 偶尔会误解该function的工作原理(例如为什么parseInt('031') == 25 ?)。 这通常违反了您对由于其他地方的问题而没有阻止的代码所做的假设。

我在这里没有看到任何问题。 我用这个代码,函数调用工作。 我保留了你的代码并添加了一个名为capturePhoto()的函数。

您确定用于调用该函数的代码是否正在触发?

 var photo = "yes"; if (photo=="yes") { capturePhoto(); } else { //do nothing }; function capturePhoto() { alert("Pop up Message"); } 

您发布的代码确实有效。

我复制并测试了它。

演示: http : //jsfiddle.net/Guffa/vraPQ/

我能看到的唯一不对的是在结束括号后的分号,但这只是一个样式问题。 它将形成一个额外的空语句,但这不会导致任何问题。