为什么一些节点属性在我记录它们时显示为未定义?
Why do some node properties give me undefined when I log them?
我在我的节点应用程序中有一个端点,我正在做以下操作…
app.put('/api/authentication', function(req,res){
console.log(global.ff); //undefined
console.log(req.ff); //undefined
console.log(blah); //throws error
});
我不明白为什么前两个给我'undefined'。它们应该抛出一个错误,因为我从来没有声明过它们。但就好像node.js神奇地声明了它们,这就是为什么它们不会像上一个那样抛出错误…有人能解释一下吗?
undefined
和"不存在"有区别
在前两行中,global
和req
是存在的变量,它们只是没有您要求的键-所以您得到undefined
。
然而,blah
根本不存在——node甚至没有地方请求您正在寻找的密钥。请注意,您可以根据此答案测试未定义。
如果您在上面定义了blah
,但没有为它设置值(var blah;
),那么您将得到另一个undefined
错误。
global
和req
为已存在的变量。
在现有变量中请求键返回它,如果没有找到-告诉键是undefined
。
下一段代码也将返回undefined:
var blah = "";
console.log(blah.blah);
相关文章:
- 敲除jsobservable显示未定义的值
- 使用eval()定义变量显示未定义的错误
- 当使用多个false时,Select2显示未定义
- 函数在控制台中显示“未定义”
- 在文本区域显示未定义的javascript数组
- this.value在<td>标记显示未定义
- Chrome 显示未定义密钥代码
- 节点.js 使用 Multer 上传图像显示未定义
- 语句的 Javascript 一直显示未定义
- 显示未定义值的工具提示
- 为什么它在数组之前显示未定义
- Ajax 结果显示未定义
- 显示“未定义”的 JS 警报
- 样式.在元素正确定义时显示未定义
- 它一直显示未定义的文件名
- jQuery每个函数和数组在for循环中显示未定义
- Hapi在处理程序中显示未定义的变量
- 选择2显示未定义
- Json数组只显示未定义的未定义
- 来自文本框和单选按钮的用户输入在警报中重复,显示未定义