尝试将函数返回值分配给变量

问题描述:

我有一个脚本,用于检查选定元素的值是否等于跨度ID。一切工作正常,除了变量赋值。 更确切地说:函数本身起作用(如果我警告object.id它显示正确),但变量赋值不。如果我试图提醒变量,它说它是未定义的。我敢肯定,这是一些小的错误,那将是非常好的,如果有人能指出来:尝试将函数返回值分配给变量

var spanId = (function getId(object) 
    { 
    return object.id; 
    //alert(object.id); 
    })(); 
+5

我不明白警报是如何正确的。当你调用函数时,你没有传递任何参数,所以你会试图提醒'undefined.id'这会引发异常。 – Quentin

+0

强烈建议在GNU风格括号内强调K&R风格的支架 –

+0

如果undefined在工作时有一个id,它会如何呢? – epascarello

设置变量不会更新,当你一次又一次地调用它的变量。您需要重构代码才能更新该变量。

var spanId; 
function getId(object) { 
    spanId = object.id; 
}; 

现在spanId将具有当前值。

+0

谢谢。我觉得我好笨... – Fajeth88