如果没有找到,搜索方法应返回什么?

时间:2013-10-17 06:17:42

标签: javascript

我有这个方法

var link = this.find_first_link(selectedElem);

应该返回一个对象。如果没有找到任何元素,我不确定它应该返回什么 - null,undefined还是false?我拒绝了“假”选项,因为我觉得它不适合这里所以我选择了null或undefined。我已经读过,在发生某种异常或错误的地方应该使用'undefined',所以目前这个方法返回null。那可以吗?

2 个答案:

答案 0 :(得分:6)

查看您在浏览器中使用的方法所做的工作。

当没有提供id的元素时,

getElementById会返回null

这就是null设计用于:表示没有对象(typeof null"object")。当预期的返回类型为"object"但您没有要返回的对象时使用它。这比undefined更好,因为在您决定放入变量之前或甚至在调用函数之前,您将拥有undefined

来自the description of null in the MDN

  

在API中,通常会在对象所在的位置检索null   预期但没有任何对象是相关的。

是的,请使用null

答案 1 :(得分:0)

是的,

var link = this.find_first_link(selectedElem);

它将返回NULL。