1

我发现自己写了很多类似下面的代码,但我仍然遇到很多死亡事故。它使整个代码编写过程变得更加痛苦,感觉应该如此。那里有更好的方法吗?

function drawArrowsInDocument (document, boxes, context) {
    console.log ("drawArrowsInDocument");
    var body = document.body;
    if (!body) {
        console.log ("no body!");
        return;
    }
    var rectangles = rectanglesWithBoxes(boxes);
    if (!rectangles) {
        console.log ("no rectangles!");
        return;
    }
    var descendants = body.childNodes;
    if (!descendants) {
        console.log ("no descendants");
        return;
    }
    var length = descendants.length;
    if (length>10000) {
        console.log ("too many descendants");
        return;
    }
    // now I know my variables actually exist, and I can do something with them.

这是我在崩溃时看到的。那时我唯一能做的就是重新启动 Safari,并添加更多 if 语句来查找问题。

碰撞

4

1 回答 1

0

使用断言而不是 console.log。有内置的console.assert

console.assert(Number("a"),"Not a Number",Number("a"))  

单元测试框架可以帮助您将测试与代码分开,以避免在部署之前删除控制台语句。

参考

于 2012-08-22T19:39:59.240 回答