zoukankan      html  css  js  c++  java
  • js上 十三、函数初步-2

    13-1.函数的参数

    函数的本质:

    ü 函数的作用,代码重用,编写一个函数,就是为了解决一类问题。

    ü 函数每次调用,都有一个结果,那么结果和什么相关呢?y = x , y = x2,y = sin(x)。和我们给定的某一个值相关的。

    这就涉及到参数的问题。

    img

    ​ 函数中的参数分为

    形参:函数定义时小括号中的参数称为形参表示要传入什么样的值

    实参:函数调用时输入的参数称为实参,具体的某个值

    案例,我们需要定义一个函数,对两个数进行求和。

    img

    正是由于有了参数这么一个武器,所以我们的函数才得以重用。

    多个参数由逗号 (,) 分隔

    说明:

    ​ 在定义和调用函数的时候,对形式参数和实参要求没有那么严格。

    ​ 形参和实参的个数,可以不相等,程序不会出错,结果可能会出问题。

    img

    想要获取实参6,7怎么办

    img

    #13-2arguments

    什么是arguments?

    ​ arguments是实参的一个集合;

    img

    说明:

    ü arguments队形是用来接受实参的,每一个函数都有arguments对象,arguemnts只会在内部找自身的arguments,无法引用到外层的arguments

    img

    ü 我们将实参收集起来,放到一个arguments对象里,组成一个由实参构成的类数组,[实参1,实参2,实参3…..实参n]

    ü 我们可以通过arguments的索引(0,1,2,3…),来访问每一个实参,

    ü 访问格式:arguments[下标]

    img

    ü arguments.length:可以得到实参是个数

    img

    细节:

    1) arguments[0]可以取到传入的第一个实参

    2) arguments[arguments.length-1] 可以取到传入参数的最后一个实参

    img

    3) arguments的长度是由传入的实参个数决定的,而不是由定义函数时的命名参数的个数决定的

    4) 没传参的时候arguments.length 为0.是个[]

    img

    5) 获取每一个实参:

    img

    #11-3.函数的返回值

    我们每调用一个函数,希望得到一个什么东西呢?

    y = x , y = 2x+1,y = sin(x)

    实际上,在js开发中,我们调用一个函数,往往是需要通过它的处理,得到一个具体的结果。

    函数中的return语句是指定函数调用的返回值

    说明:

    return只能在函数体中出现,如果不是的话会报语法错误

    在使用ruturn语句时,函数就会停止执行,并返回指定的值,后面的语句不会被执行。

    img

    细节:

    1) 没有使用return的时候,我们可以这么理解,在一个函数当中,最后一定会有一个return 语句,默认的是 return undefined。

    img

    2) 如果有 return 就是return的值。

    img

    3) 如果有return ,但是没有return后没有值,则返回undefined

    img

    ​ 作业:

    ​ 1.函数封装(详情见文档)

    #11-4.函数的作用域

    什么是作用域?

    首先,作用域是针对变量而言的。要定义一个变量,这个变量就有一个相应的作用域。

    作用域是指变量的生效范围,在程序中,在什么范围之内可以访问,什么范围不能访问。

    在js中,以函数为界,可以分为如下两种:

    全局变量:不在任何函数内定义的变量就是全局变量。

    局部变量:(函数内var 声明的变量)只能被函数自身读取(该变量的作用域是局部的)。

    变量的规则:(变量的作用域)

    1)如果一个变量在函数体内部申明,则该变量的作用域为整个函数体,在函数体外不可引用该变量:

    img

    2)如果两个不同的函数各自申明了同一个变量,那么该变量只在各自的函数体内起作用。换句话说,不同函数内部的同名变量互相独立,互不影响:

    img

    3)函数外部的变量就算是和函数内部的变量名称相同,也是两个变量,没有任何关系,彼此不发生影响

    img

    1. 函数内部的变量,没有用var时,会逐层向上查找

    (如果把值赋给尚未声明的变量,是隐式声明,不会变量提升,直接为全局变量)

    **a. ** 先执行函数,再输出变量

    img

    **b. ** 没有执行函数;直接输出

    img变量的生存周期:

    JavaScript 变量的生命期从它们被声明的时间开始。

    局部变量会在函数运行以后被删除。

    全局变量会在页面关闭后被删除。

    函数同名的话,后写的函数覆盖先写的函数。

    注意:js没有重载

    #小结:

    1. 函数的参数分为形参和实参;

    2. arguments是实参的集合

    3. return是函数的返回值,也是函数的结束语句

    4. 在函数体内声明的变量为局部变量,不再函数内声明的变量为全局变量

    5. 局部变量只能在函数体内使用,全局变量可以在任意地方使用;

  • 相关阅读:
    牛客寒假5-D.炫酷路途
    牛客寒假5-A.炫酷双截棍
    HDU-1024
    牛客寒假6-J.迷宫
    牛客寒假6-G.区间或和
    牛客寒假6-E.海啸
    【BZOJ3456】—城市规划(生成函数+多项式求逆)
    【BZOJ3456】—城市规划(生成函数+多项式求逆)
    【TopCoder SRM548 Div1】—KingdomAndCities(组合数学)
    【TopCoder SRM548 Div1】—KingdomAndCities(组合数学)
  • 原文地址:https://www.cnblogs.com/yzy521/p/14132703.html
Copyright © 2011-2022 走看看