javascript回调演示中的语法错误

时间:2014-07-20 19:54:13

标签: javascript

The jsfiddle.net code below 生成Uncaught SyntaxError: Unexpected token (和文本" Here",但不会产生我想学习的结果,这将有助于我理解函数中的回调以及它们的{{{ 1}} value,在我的情况下为true / false,可用于确定要计算两件事中的哪一件。

我想帮助删除语法错误,以便我可以看到结果。

return

html代码简单如下。

function checkPos(input, callback) {
    if (input > 0)
    function () {
        callback(true);
    } else
    function () {
        callback(false);
    }
}

function dosomething(number) {
    var diff = 10 - number;
    checkPos(diff, function (e) {
        return e;
    });
}

var count = 1;
var multiplier = 6;
var result;
if (dosomething(11)) result = 5 + count
else result = 5 - count

document.getElementById("demo").innerHTML = String(result*multiplier);

3 个答案:

答案 0 :(得分:3)

你写的是

function checkPos(input, callback) {
    if (input > 0)
    function () {
        callback(true);
    } else
    function () {
        callback(false);
    }
}    

那是Syntax Error。您无法在if-statement

中定义函数

但你可以打电话给你的回电:

function checkPos(input, callback) {
    if (input > 0)
        callback(true);
    else
        callback(false);
}

以下是更新后的Fiddle

答案 1 :(得分:0)

如果函数未附加到变量ex。

,则需要命名
function()
//not okay
var abc=function()
//acceptable

答案 2 :(得分:0)

如果javascript / ecmascript中的/ if-else语句具有以下形式:

  

if(Expression)Statement else Statement

     

if(Expression)Statement

你在语句的位置使用了函数表达式,根据语法不正确,因而错误。