引用非声明变量时抛出错误

时间:2014-01-31 09:48:40

标签: node.js javascript

我有一个js库,它有一组函数。该库位于libary.js文件中。我应该使用如下所示的库:

function (AUTH_OBJ){
var botApi= new library(AUTH_OBJ);
var value = botApi.getAttribute("num3");
var value2 = botApi.getAttribute 
botApi.setInCache("multiply",789);
botApi.setAttribute("num",700);
botApi.setInCache("/numbers/data/num1",300);

botApi.setInCache("/multiply/new",5);
var fromCache = botApi.getFromCache("/numbers/data/num1")
return botApi.done();
}

该库没有行

中使用的“getAttribute”函数
var value2 = botApi.getAttribute 

但代码仍然执行。 我想在库中引用未声明的变量时抛出错误。我无法找到方法。请帮帮我。

2 个答案:

答案 0 :(得分:3)

botApi.getAttribute应该返回 undefined 。您可以检查并抛出错误:

if (botApi.getAttribute === undefined) {
  throw new TypeError("getAttribute is not defined");
}

答案 1 :(得分:0)

如果要检查不存在的属性,可以使用hasOwnProperty

var foo = {};
if(! foo.hasOwnProperty('attribute'))
{
   console.log('Missing attribute!');
}