prompt输入框按取消,是返回字符串null,长度应该为4,为什么没反应?

prompt输入框按取消,是返回字符串null,长度应该为4,为什么没反应?

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>return</title>

</head>

<body>

<script>

    var input=prompt("请输入您的密码");

    // 补充代码

    function funName(num){

        var i=num.length;

        if(i>12){

            return "密码不能大于12位数";

        }else if(i<6){

            return "密码不能小于6位数";

        }else{

            return "密码格式正确";

        }

    }

    alert(funName(input));

</script>   

</body>  

</html>


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你好同学 , null比较特殊的 ,它是一个空指针对象 .在js中 ,如果一个变量以后想保存对象 ,但是还不知道具体保存啥 ,这个时候就把变量赋值为null . 所以它输出的类型也是object . null特殊记一下就行哦 .

祝学习愉快 ,望采纳 .

  • 慕尼黑5122342 提问者 #1
    那数据类型Null,有什么作用?
    2019-03-05 19:14:25
  • 好帮手慕夭夭 回复 提问者 慕尼黑5122342 #2
    你好同学 ,Null类型就是一个空类型的意思 , 如果不想指定一个变量为字符串或者数值等其他的类型时,可以指定为null . 表示这个变量已经初始化了,还未指定数据类型 .
    2019-03-05 19:43:54
好帮手慕夭夭 2019-03-04 17:54:40

你好同学 ,null并没有length这个属性 , 所以当你点击取消后 ,执行num.length会报错

http://img1.sycdn.imooc.com//climg/5c7cf5620001eb7214740093.jpg

如果是null的话 ,直接判断内容是否等于null即可 ,如下:

http://img1.sycdn.imooc.com//climg/5c7cf5d5000122d804690201.jpg

希望对你有帮助 , 祝学习愉快 ,望采纳 .

  • 提问者 慕尼黑5122342 #1
    var a=null; document.write(typeof(a)); 是输出object,为什么不是Null?
    2019-03-05 17:06:25
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师