zoukankan      html  css  js  c++  java
  • 函数2

    # 函数2 #

    ### 函数提升 ###
    console.log(addnum);
    function addnum(a,b){
    return a+b;
    }
    函数和用var申明变量一样,也存在提升

    只要不用var声明就不会产生全局变量
    ###1,函数申明
    function addnum(a,b){
    return a+b;
    }

    - 在使用函数申明的时候,注意两点,
    >- 1,嵌套函数的申明,举例

    function add(){
    console.log(165);
    function add2(){
    console.log(111);
    }
    add2();
    }add();

    >- 2,函数和变量名相同时,会被覆盖


    ###2,函数表达式
    简单来说,就是把函数赋值给一个变量,或者说是让变量储存这个函数;

    ###3,命名函数表达式

    和上面的函数表达式基本一样,只是这个函数给了明确的名称;


    ###4,立即执行函数表达式

    - 立即执行函数表达式;也称(iife)(Immediately-Invoked Function Expression);函数不用调用,就执行;


    ##3 参数
    - 我们在最开始说函数就说了,参数,函数在进行计算时候,需要的条件值,就是参数。
    - 参数分实参和形参。
    - 实参就是实际传入的参数(调用),形参是申明函数时传入的参数,亦可作为函数的局部变量使用。

    - 值传递
    - 参数基本类型(number,boolean,string);
    - 如果参数是复杂数据类型,那么会引起作用的反射;


    ###arguments对象
    - arguments对象是和函数紧密结合在一起的,可以算是函数的一个属性argument,为当前执行的函数对象返回一个arguments对象;是一个伪数组。拥有一些数组的特性,比如有length属性,还可以通过下标去获取里面的参数值,也可以通过for来遍历,但它没有数组的方法。


    aguments对象,是一个假的数组。它并不能使用数组的方法。如果我们需要使用这些方法,是不是还是
    需要更多的代码来实现。而在我们es6中,提供了一个简单的获取全部参数方法,并且会把参数转化成真的数组。既然是真的数组,那么数组的方法,它都可以使用。
    ###不定参数 或者说剩余参数 自定义一个标识符,在前面加上三个点(...)

    ###作用域

    作用域(scope)指的是变量存在的范围。

    这个作用域的范围确定,主要是我们的函数

    申明函数后,在函数内部,进行的变量申明和函数,在函数外面是找不到的,我们称之为局部变量;比如我们的小名,在家里人,都知道,但是在外面。是不是就不知道。与之相反,就是在函数外面进行申明,这个就是全局变量。不使用var申明,会产生全局变量

  • 相关阅读:
    tar命令,vi编辑器
    Linux命令、权限
    Color Transfer between Images code实现
    利用Eclipse使用Java OpenCV(Using OpenCV Java with Eclipse)
    Matrix Factorization SVD 矩阵分解
    ZOJ Problem Set
    Machine Learning
    ZOJ Problem Set
    ZOJ Problem Set
    ZOJ Problem Set
  • 原文地址:https://www.cnblogs.com/Edliu/p/7500484.html
Copyright © 2011-2022 走看看