美文网首页
05-node入门之process对象(一)

05-node入门之process对象(一)

作者: 扁扁的汤圆 | 来源:发表于2018-12-03 23:40 被阅读0次

    此处是用process.stdout和process.stdin实现控制台登录
    代码:

    var user_info = {
        'admin':'123456',
        'user1':'456789'
    };
    
    //1.首先输出输入的提示信息
    process.stdout.write('请输入用户名\n');
    var user_name = '';
    //2.接收用户的输入
    process.stdin.on('data',(input) => {
        input = input.toString().trim();
        //由于每次输入都会执行到这里,所以在此处要知道input是啥?
        if(!user_name){
            //3.判断用户的输入存不存在
            //获取一个键值对集合中的所有键
            if(Object.keys(user_info).indexOf(input) === -1){
                process.stdout.write('用户名不存在\n');
                process.stdout.write('请输入用户名\n');
                user_name = '';//不存在清空下
            }else{
                //4.用户存在,存储用户名,然后输入密码
                user_name = input;
                process.stdout.write('请输入密码\n');
            }
        }else{
            //5.此时传入的是密码,做密码的判断处理
            if(input === user_info[user_name]){
                console.log('登陆成功');
            }else{
                process.stdout.write('请输入密码\n');
            }
        }
    })
    

    效果:

    请输入用户名
    admin
    请输入密码
    123456
    登陆成功
    

    注意坑:
    1.输入的值不是字符串,其实是一个对象;
    2.输入的值最后肯定有个换行符;
    所以需要转换一下input = input.toString().trim();
    3.每次输入值,都会走回调方法,注意判断每次输入的到底是啥。

    相关文章

      网友评论

          本文标题:05-node入门之process对象(一)

          本文链接:https://www.haomeiwen.com/subject/zrfpcqtx.html