我有以下(简化)代码:
function addOnclickFunction(onclickFunction)
{
var object = document.createElement("img");
object.onclick = function(){eval(onclickFunction)};
return object;
}
即。我传入一个字符串(onclickFunction)并设置对象的onclick事件等于传入的字符串。
就这种方法是否有效而言,是的,它适用于生产。
然而,我在QUnit中正确地对此进行了单元测试。
QUnit.test("addOnclickFunction should return the an object with onClickproperty", function(assert)
{
var objectTest;
assert.equal(objectTest,undefined);
objectTest = addOnclickFunction("functionCall");
assert.notEqual(objectTest.onclick,null);
assert.equal(objectTest.onclick,"functionCall");
});
在这种情况下,前两个单元测试将通过。最后一个不会因为objectTest.onclick返回
function(){
[code]
}
有什么方法可以告诉我函数名是什么?