学习 JavaScript 核心概念:函数

Posted kurryluo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习 JavaScript 核心概念:函数相关的知识,希望对你有一定的参考价值。

基本知识

函数对于我们来说,不算陌生的东西。中学就已经有了函数的概念,比如:

y = f(x)

输入一个数 x,能够得到与之对应的一个数 y。也就是说,f(x) 的有一个返回值,这是函数在数学上的定义。但是在 JavaSciprt 中,我们把函数看成是发生器,在内部可以进行一系列运算,可以有返回值,也可以没有返回值。

函数是用关键字 function 来声明,后面跟一组参数以及函数体,基本的语法如下所示:

function 函数名字 (参数 1,参数 2,参数 3){
    函数体
}

如果一个函数有返回值,我们可以看到关键字 return 。在 return 后面发生的一切都没有用了,执行完 return 函数立即退出。一个返回 Hello World 的示例:

function sayHello(arg1, arg2){
    return arg1 + arg2
    alert("猫咪")
}

sayHello("Hello", "World"); // 会返回 Hello World ,但是 "猫咪" 不会出现。

不用返回值,函数也可以运行的:

function sayHello(arg1, arg2){
    alert("我就不返回值")
}

sayHello("Hello", "World"); // 会弹提示框,而不是参数

函数要么有返回值,要么没有返回值。像 return 后面不跟东西,是不推荐这么干的,这样会导致调试困难。

关于参数

参数有很多有趣的地方,javascript 在定义函数的时候,标识符可以没有,可以有很多个;在使用函数的时候,传入的参数可以没有,可以有很多个。

我们应该了解的:

  1. 参数不能命名成 eval 或者 arguments;
  2. 参数在函数内部是以数组的形式存在,我们可以访问 argument 对象得到;
  3. 所有参数都是值,不可能通过引用传递参数;
  4. JavaScript 函数不能像 Java 那样实现重载(两个名字相同的函数却是两个不同的函数),后者会覆盖前者。这是因为参数是一个数组,没有函数签名的说法。可以判断参数的类型或者大小,return 不同的值,实现不完美的重载;
  5. 一般我们称 JavaScript 的参数为形参,是因为参数的名字和传入的值之间不受名称的影响,有的语言在调用函数时,传入的参数名称必须和定义的标识符一致才可以调用。这是因为解析器不会校验参数名,只关心参数的个数和相对位置。

技术分享图片

欢迎大家关注微信公众号:** 可视化技术( visteacher )**

不仅有前端和可视化,还有算法、源码分析、书籍相送

个人网站:http://blog.kurryluo.com

各个分享平台的 KurryLuo 都是在下。

用心学习,认真生活,努力工作!

以上是关于学习 JavaScript 核心概念:函数的主要内容,如果未能解决你的问题,请参考以下文章

学习 JavaScript 核心概念:语句

jQ选择器学习片段(JavaScript 部分对应)

Javascript MVC 学习笔记 视图和模板

组件&Props

深入JavaScript高级语法

如何运用领域驱动设计 - 值对象