JS高阶(day4)

1.严格模式

为全局脚本开启严格模式:  ' use strict';

1 在严格模式下声明变量必须要写关键字var

2 不允许删除变量

3 严格模式下全局作用域中函数中的this是undefined

4 严格模式下,如果 构造函数不加new调用,this指向的是undefind如果给他赋值就会报错

2.高阶函数

条件:

参数是函数

函数作为返回值

3.闭包

概念:内部函数访问其所在的外部函数中声明的参数和变量,形成的词法环境叫闭包.

闭包有三个特性:

  • 1、函数嵌套函数
  • 2、函数内部访问外部函数的参数或变量
  • 3、可以使函数中的变量可以长期驻扎在内存

  • 使用闭包的好处:

  • 1、变量长期驻扎在内存中
  • 2、避免全局变量的污染(多人定义同样名字的全部变量冲突)
  • 3、私有成员的存在

    使用闭包的坏处:

  • 1、常驻内存
  • 2、会增大内存的使用量
  • 3、使用不当会造成内存泄露

4 递归

递归:让函数在内部自己调用自己

递归必须要加退出条件

例:递归求阶乘

function sum(num) {
            if (num == 1) {
                return 1;
            } else {
                return num * sum(num - 1);
            }
        }
        var rel = sum(4);
        console.log(rel);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值