问答详情
源自:2-4 JavaScript-提问(prompt 消息对话框)

哪错了????

不知道有没有人把左边代码运行了,输入框空的时候确定,只会出现“你好”而不是“你好 my friend”,这是怎么回事

提问者:前端大神是我的梦 2016-10-15 16:46

个回答

  • 呼呼伢儿3464468
    2016-10-16 11:18:13

    因为啊,你点击确定的时候,返回的是一个空的字符串,空的字符串不等于null!null的含义你应该知道吧,就是一个变量,赋值为空,也就是不给他分配存储空间。他与undefined是有区别的,undefined是定义了变量,但是没有赋值!你现在看看条件 if(myname != null),也就是说 返回的值 不等于Null的时候就会执行 “你好”+myname这行代码。而你正好返回的myname是一个空的字符串,所以就只会输出“你好两个字”。

    最后再唠叨一句哈:null 和 undefined 和 空的字符串 是完全不相等的三个数据!第一个是不分配存储空间,第二个是还没有分配,第三个是 字符串数据,内部没有字符。建议你上网查查,毕竟我说给你的是二手的,我理解的也不是那么的好哈哈。

  • 武力凶星
    2016-10-15 17:04:48

    function rec(){

    var score; //score变量,用来存储用户输入的成绩值。

    score =prompt("你是鸡吗:");

    if(score>=90)

    {

      document.write("你很棒!");

    }

    else if(score>=75)

        {

      document.write("不错吆!");

    }

    else if(score>=60)

        {

      document.write("要加油!");

        }

        else

    {

           document.write("要努力了!");

    }

      }

    你没代码,我就拿我自己的给你参考了