我正在尝试学习 Node 并拥有以下功能:
this.logMeIn = function(username,stream) {
if (username === null || username.length() < 1) {
stream.write("Invalid username, please try again:\n\r");
return false;
} else {
....etc
我正在通过它
if (!client.loggedIn) {
if (client.logMeIn(String(data.match(/\S+/)),stream)) {
我已经尝试了 == 和 ===,但我仍然遇到错误,因为用户名没有检测到它为空,并且 username.length() 在以下情况下失败:
if (username === null || username.length() < 1) {
^
TypeError: Property 'length' of object null is not a function
我确定 Node 不会计算 || 的第二部分在第一部分为真时的 if 语句中 - 但我不明白为什么当用户名是空对象时 if 语句的第一部分评估为假。有人可以帮助我了解我做错了什么吗?
最佳答案
length
是一个属性,而不是一个函数。试试 username.length
关于javascript - 当字符串可能为空时确定 Node JS 中的字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10635727/