严格模式的知识点

(1)什么是严格模式:比旧的JS运行机制要求更加严格新运行机制

(2)为什么:旧的JS中有很多广受诟病的缺陷

(3)何时:今后,在企业中,所有代码都要运行在严格模式下。‘   

(4)如何:当前代码的顶部添加:“use strict”

  (5) 新规定:4个

                     i.禁止给未声明的变量赋值:a.旧的JS中如果强行给未声明的变量赋值,不会报错 而                                                                       是自动在全局设置该变量。---全局污染

                                                                  b.严格模式中:强行给未声明的变量赋值会报错!---减                                                                        少了因为写错变量名造成的全局污染!

                   ii.静默失败升级未错误:a.静默失败:程序执行不成功,但是也不报错。--及其不利于                                                                                 调试程序。

                                                          b.严格模式:将绝大部分静默失败都升级为报错!

                 iii.普通函数调用中的JS不再指向window,而是指向undefined:

                                                         a.旧JS中:普通函数调用中的this默认指向window---极容易造                                                                             成全局污染。

                                                        b.严格模式:普通函数调用中的this指向undefined了,不再指                                                                               向window--防止因为错误使用this而导致的全局                                                                                 污染

                iv.禁用了arfuments.callee

                   a.什么是arguments.callee:是在一个函数内,获得当前函数本身的一种特俗关键字。--                                                               递归

                   b.递归的问题1:在函数内写死了当前函数名,一旦外部函数名改变,内部函数名忘记                                                修改,则程序立即报错!----紧耦合

                   c.解决:在函数内使用arguments.callee代替写死的函数名。在运行时,自动获得当前                                   函数本身---松耦合                

                   d.递归的问题2:重复计算量太大:递归效率极低

                   e.解决:今后,如果时递归调用却严重影响程序的性能时,就要用循环来代替递归。

                   f.总结:今后

                                 i.如果递归调用没有影响程序的效率,就首选递归---简单直观

                                 ii.如果递归调用确实影响了程序的效率,则被迫改为循环实现

                                

                                                                  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值