函数

函数:函数,是可以通过名称来引用,并且就像自包含了一个微型程序的代码块。

1. 函数的三要素:函数的功能,函数的参数,以及函数的返回值。

2. DRY原则:所谓DRY原则,全称为Don't repeat yourself,翻译成中文就是不要重复你自己。什么意思呢?也就是说一个程序的每个部分只被编写一次,这样做可以避免重复,不需要保持多个代码段的更新和重复。

3. 字面量声明函数:

function 函数名(形式参数){

    //函数体

}

函数名:就是我们调用函数时需要书写的标识符

形式参数:简称形参,是调用函数时需要接收的参数

实际参数:简称实参,是调用函数时实际传递过去的参数

4. 函数表达式声明函数

Let 变量=function(){

 //函数体

}

这里的变量并不是该函数的名字,一般来讲,都是将一个匿名函数赋值给一个变量,通过这个变量来对函数进行调用。

5. 构造器声明函数

Let变量=new Function(“name”,”console.log(‘Hello,’+name)”);

Test(“xiejie”);//Hello,xiejie

不建议使用,因为需要解析两次代码,效率低。

6. 函数的调用: 如果要调用函数,那么就必须要有括号。这个括号要么在函数名后面,要么在变量名后面,这样才能够将调用函数后的执行结果返回。如果缺少了括号,那就只是引用函数本身。

示例:

Let test=function(){

    Console.log(“Hello”);

}

Let i=test;//没有调用函数,而是test函数赋值给了i

i();//Hello

7. 函数的返回值:return,代表要从函数体内部返回给外部的值,即使不写,函数本身也会有返回值undefined。

需要注意的是,return后面的代码是不会执行的。

8. 函数的参数: 函数的参数可以分为两种,一种是实际参数,另外一种是形式参数。

)1 形式参数: 形式参数简称形参,它就是一种变量,但是这种变量只能被函数体内的语句使用,并在函数调用时被赋值。JavaScript中的形参的声明是不需要添加关键字的,如果加上关键字反而会报错。

关键点:参数名可以重复,同名只取最后一个参数值。

        即使函数声明了参数,调用时也可以不传递参数值

        调用函数时可以传递若干个参数值给函数,而不用管函数声明时有几个参数

)2 arguments:伪数组对象,本质是对象,但是因为键是从0开始,类似数组的下标,同时能使用部分数组功能。

9. 不定参数: 在最后一个形式参数前面添加3个点,会将所有的实参放入到一个数组里面。需要注意的是,不定参数都是放在形式参数的最后面,如果不是放在最后,则会报错。

  1. 函数的属性和方法

)1 name属性:表示函数的函数名

)2 length属性:表示形式参数的个数

  1. 箭头函数: 其最大的特点在于不需要function关键字,取而代之的是使用一个=>来进行表示。

表示方法:

//如果没有参数

Let 变量 =()=>{

//函数体

}

//如果只有一个形参

Let 变量 =形参=>{

  //函数体

}

//如果函数体只有一个返回值

Let 变量 =形参=> expression

这种函数的优点是:

●比普通函数声明更简洁

●只有一个形参就不需要用括号括起来

●如果函数体只有一行,就不需要放到一个块中

●如果return语句是函数体内唯一的语句, 就不需要return关键字

●不会把自己的this值绑定到函数上

12.作用域

  )1 全局作用域:这个是默认的代码运行环境,一旦代码被载入,引擎最先进入的就是这个环境。

)2 函数作用域:当进入到一个函数的时候,就会产生一个函数作用域

)3 eval作用域:当调用eval0函数的时候,就会产生-个eval作用域

原文地址:https://www.cnblogs.com/yeyuyuni/p/11407745.html