美文网首页程序员
JS学习笔记--函数

JS学习笔记--函数

作者: 百里挑一的菜鸡 | 来源:发表于2018-12-24 21:48 被阅读0次

    我觉得,一个语言最基本的功能也是最强大的功能,便是他的函数功能。有了函数,你可以把一个解决问题的方法封装起来,通过适量的改变和判断,可以让他功能更加强大,也可以通过无限的调用以实现他最大的功效。

    我也是最喜欢函数的,如果一个语言没有函数,那么我可能不会用他吧。在JS中,函数基本格式是这样的:

    function demo() {

    ...code block...

    }

    //注意大小写!

    现在,我们来详细分析函数结构,

    ①  function

    这个语句,定义了你接着来写的是一个函数,这就是一个标示作用。

    ②  demo() 

    demo这里是可以自定义的,并非是demo,他只是我给示例函数的名字,你想给函数取名字就怎么取,但是得知道一些命名规范:

    1.不能使用关键字,例如undefined,true,false,return...各种。

    2.不能使用中文以及其他非英文语言,也不能使用特殊符号,除了美元符号$,哦,对了,还有下划线 _ 。

    ()

    想必第一次学编程的伙伴看到这个括号会觉得很奇怪,怎么写函数时老是跟着写一个括号,这个括号有什么用呢??

    其实这个括号相当于函数的嘴巴,也相当于一个国家的海关,你往里面塞东西,就必须走这里,但是东西不能乱塞啊,有些给函数不要,有些给函数没用,这是得有一定规范的。

    下面是一个示例:

    function add(num1,num2) {

    return num1+num2

    }

    这个函数用于相加并返回传入的两个数值,现在你会看到,括号里面有东西了,分别为num1和num2,他们用逗号(注意必须是英文的)分隔开,分别为两个参数,他们本身不代表任何值,但是在调用函数时就能替换为传入值,就等于是可替换的一个东西。

    上面的函数有一个缺点,那就是只能传两个数值。

    如何解决?

    现在学一个新名词--  arguments

    我们可以称他为不定参,意思就是可以传入无数个参数,只要你肯传。。

    示例:

    function add() {

    /*注意到这里括号里什么也没有写,不要以为要把arguments写进去*/

    s=0;

    for(i in arguments) {

    s+=arguments[i]

    }

    return s

    }

    感觉上这里代码量增加了许多,但是仔细看看,也就是arguments这个单词字数多罢了。。但是这个函数你可以传很多个值,一百个,一万个,一亿个,都可以233

    {

    ...code block...

    }

    这里没什么说的,就是一对花括号括起来,里面就是一个小世界了,你在里面写上成百上千的代码都没问题,反正他和外界是分开的,他是独立的,括号里就是函数的内容主体。

    //Tips:

    1.函数中用return返回值,注意一个函数只能有一个return,只能有一个出口,如果你想传出多个值,可以转成数组或者对象再传出去,通过下标或者对象获取。

    2.切记,arguments后面一定要加上s,有很多输入法打出来(如果你是一个一个字敲得就不存在)就是一个argument,你不注意就会出错,找bug时又不是太显眼,所以请牢记!!(别问我为什么知道)

    3.关于函数命名规范,你取什么名字是你的自由,但是你不能取得太过难看,英语好的朋友可以直接用英文取名,英语不好的可以用中文名拼音缩写来取(如果有用拼音全部字母取得真的不知道怎么想的)。在书写格式上,推荐驼峰命名法,既美观又容易理解:

    function MyFavoriteBook (book) {

    ...return book...

    }

    如果是几个相关但分工不同的函数,可以这样写:

    function music__play () {

    ...

    }

    function music__stop () {

    ...

    }

    至此,js函数算是讲完了,如果有什么不懂的或者认为我写错的地方可以提问和指正(如果有不对的地方会改正的),谢谢观看!!

    (:з」∠)_(:з」∠)_

    相关文章

      网友评论

        本文标题:JS学习笔记--函数

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