1-11的疑惑,感觉对函数的理解很模糊

1-11的疑惑,感觉对函数的理解很模糊

 var input=prompt("请输入您的密码");
    function funName(n){
        
        if(n.length<6){
            return "密码不能小于6位数";
        }else if(n.length > 12){
            return "密码不能大于12位数";
        }else if(n.length>=6 && n.length<=12){
            return "密码格式正确";
        }
    }
    alert(funName(input));

我看其他人的代码,都是把input作为参数,我把n设为参数也可以,这是为什么呢,对参数传值这块不太理解,希望老师能够解答


还有看到有位同学提交的代码是无参的,他的代码去掉函数还是可以照常执行,没有任何错误,那这道题对里的函数的应用有什么意义呢,单纯为了测试函数而设置的吗,还是说用了函数会对代码效率上有提高(针对这道题来说)

那位同学的代码

var p=prompt("请输入密码");
    function FunName(){
        if(isNaN(p)){
            alert("输入不是数字");
        }else if(p.length>6 && p.length<=12){
            alert("密码格式正确");
        }else if(p.length<6){
            alert("密码不能小于6位数");
        }else if(p.length>12){
            alert("密码不能大于12位数");
        }
    }
    FunName(p);


正在回答

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

2回答

你好同学 ,问题解答如下:

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

一般参数的传递是在不同的作用域上使用 . 例如如下:

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

而如下代码中 , p是一个全局变量 ,全局变量是可以在函数里面直接拿到的 , 所以这里传递的参数没有用到  :

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

代码是很灵活的 ,本阶段作业可以不传递参数 ,因为变量是全局的 ,可以直接在函数中使用 .如果同学想要练习使用参数 , 可以按照第一种写法练习 .

加油 , 祝学习愉快 ,望采纳.

  • 蛋蛋90斤 提问者 #1
    那如果我把参数的名称也改为input,那这个input和外面的全局变量input是不一样的吗,是不是虽然名字一样但是还是有实现实参到形参的传递的
    2018-11-23 18:25:58
  • 蛋蛋90斤 提问者 #2
    还有在另外的问题下面看到,想问如果使用switch这个题应该怎么做呢,case后面不能跟范围,难道要把1-12都列出来吗,我写了一点点,只列了3个case,应该是不对,请老师解答 var input=prompt("请输入您的密码"); function funName(n){ var a=n.length; switch(a){ case 1: alert("密码不能小于6位数"); break; case 13: alert( "密码不能大于12位数"); break; case 6: alert( "密码格式正确"); break; } }
    2018-11-23 18:31:09
好帮手慕夭夭 2018-11-23 18:42:03

你好同学 ,根据回复的代码 ,你的方式可以如下使用长度判断 :

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

另外 , 参数同学理解是对的 . 祝学习愉快 ,望采纳 .

  • 提问者 蛋蛋90斤 #1
    明白了。谢谢老师
    2018-11-23 18:57:35
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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