码迷,mamicode.com
首页 > 其他好文 > 详细

八、 函数进阶

时间:2020-03-06 22:21:12      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:sre   adf   个数   有一个   函数的参数   模式   参数   需要   hit   

1. 什么是函数?
    | 函数是将复用的代码块(重复度比较高的代码块)封装起来的模块

2. 函数的声明方式
    | 方式1: function 函数名(参数){函数内部代码块}
        | function add(num1,num2){return num1 + num2}
    
    | 方式2:(参数) => {函数内部代码块}

    | 注意:全局函数的是保存在Windows对象里的,所以在定义函数的时候,极有可能会覆盖原来的Windows函数方法
        | 解决方法: 用let定义函数名

3. 立即执行函数
    | 立即执行函数是指函数在定义时会被立即执行且不需要指定的触发事件

技术图片

4. 函数中参数的默认值
    | function(参数A=默认值){}
        | 该函数的参数只有一个,那就是参数A,当不传值则使用括号内的默认值
    | 注意:函数中参数如果需要定义一个默认值,要把有默认值的参数放在最后面定义

5. arguments --> 可以在函数内获取所有传递的参数集合
    | 可以使用展开语法遍历里面的参数

技术图片

6. 回调函数
    | 在某个时刻被其他函数缩调用的函数都称之为回调函数
    | 比如:键盘弹起、鼠标事件等等


7. 函数中的this指向***
    | 全局环境下(普通函数):this就是Windows对象
        | 注意:如果使用了严格模式,全局环境下,this指向为undefined

    | 对象中函数(此时函数称之为方法),this指向调用函数的对象本身

    | 箭头函数,this指向父级元素中的this内容(也就是上下文)

8. apply/call/bind --> 改变this的指向
    | .apply(参数1,参数2)
        | 参数1:this指向的对象
        | 参数2:传递的形参
    
    | .call(参数1,参数2)
        | 参数1:this指向的对象
        | 参数2:传递的形参

    | 注意:.apply()和.call()的区别
        | 注意:无论这两个方法内部传递多少参数,第一个参数永远都是指定this的指向
        | .apply() 传递的参数,除去第一个参数是指定this指向的,其他的参数都是放在一个数组里进行传递
            | 函数.apply(this指向,[形参1,形参2...])
        | .call() 传递的参数,除去第一个参数是指定this指向的,其余的参数都是分开传递的
            | 函数.call(this指向,形参1,形参2...)

    | .bind(this指向)
        | .bind只有一个参数,那就是指定绑定this的指向

八、 函数进阶

标签:sre   adf   个数   有一个   函数的参数   模式   参数   需要   hit   

原文地址:https://www.cnblogs.com/qfshini/p/12430881.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!