5

我有这个方法

var link = this.find_first_link(selectedElem);

它应该返回一个对象。如果没有找到任何元素,我不确定它应该返回什么 - null、未定义或 false?我拒绝了 'false' 选项,因为我认为它不适合这里,所以我选择在 null 或 undefined 之间。我读过“未定义”应该用于发生某种异常或错误的地方,所以目前这个方法返回 null。那样行吗?

4

2 回答 2

6

看看你在浏览器中的方法做了什么。

getElementByIdnull当没有提供 id 的元素时返回。

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

MDN 中对 null 的描述

在 API 中,通常在可以预期对象但没有相关对象的地方检索 null。

是的,使用null.

于 2013-10-17T06:19:04.323 回答
0

是的,

var link = this.find_first_link(selectedElem);

它将返回 NULL。

于 2013-10-17T06:20:33.997 回答