zhuheyang
10/3/2017 - 8:42 AM

if判断语句利用变量的undefined进行输入值的确定,以及如何输入数据到一个状态变量

if判断语句利用变量的undefined进行输入值的确定,以及如何输入数据到一个状态变量

// little try in tht if judgement
// 声明但是未初始化的变量的值就是undefined
// 在if语句的判断中会自动转换为Boolean类型值.从而!nickname就是true了!
> var nickname
undefined
> !nickname
true
> var nickname = 29
undefined
> nickname
29
> !nickname
false

// Eg:接收到的第一份数据应当是用户输入的昵称!
if (!nickname) {
  if (users[data]) {
    conn.write('\033[93m> nickname already in use. try again:\033[39m ');
    return;
  } else {
    nickname = data;
    users[nickname] = conn;
    
    for (var i in users) {
      users[i].write('\033[90m > ' + nickname + ' joined the room\033[39m\n');
    }
  }
}
else {
  //否则视为聊天信息
  //这里使用了 i != nickname 确保消息发送给出了自己以外的其他客户端
  for (var i in users) {
    if (i != nickname) {
      users[i].write('\033[96m > ' + nickname + ':\033[39m ' + data + '\n');
    }
  }
}