ES5新特性

简介: es5

1.严格模式

在程序点公布写"use strict"

①禁止给为声明的变量赋值  ------> 避免了内存泄漏和全局污染

②静默失败升级为错误  ------->静默失败,也会报错!便于调试

③普通函数调用和匿名函数自调中的this不再指向window,而是指向undefined,防止内存泄漏和全局污染

④禁止使用arguments.callee -------> 递归是使用,但为了避免紧耦合,可用循环代替

2.保护对象,控制对象的属性和结构

①   保护对象的属性

         1.writable:true/false  是否可修改这个属性

         2.enumerable:true/false   是否可被  for in遍历到 (但是只能防住for in,不能防住清醒访问)

         3.configurable:true/false  (a.是否可删除该属性   b.是否可修改前两个开关)其中configurable一旦改为false是不可逆的

  ②    保护对象的结构

         1.防扩展:禁止添加新属性:obj.preventExtensions(obj)    默认是true

         2.密封:在兼具防扩展的同时,进一步禁止删除现有属性  object.seal(obj)

         3.冻结:在兼具密封的基础上,进一步禁止修改属性的值     object.freeze(obj)

3.call、apply、bind替换this所指对象

     1.函数.call("要替换的对象",参数一,参数二,.......):

       2. 函数.apply("要替换的对象",数组),当实参列表为一个数组的时候才用apply,通常是将数组整体传入,现讲数组打散,然后分别将参数传给原函数

       3.var  newobj = obj.bind()    bind的用法和前两个有所区别.bind是在原函数的基础上创建一个新函数的副本,并永久替换新函数中的this为指定的对象。新函数中的this和开头部分形参,已被永久替换为固定的对象和固定的参数值。今后如果需要反复调用新函数可使用bind替换this.,只要传入可能变化的剩余几个实参值即可!


相关文章
|
存储 IDE 算法
剑池 CDK 工具及端云—体介绍(一)| 学习笔记
快速学习剑池 CDK 工具及端云—体介绍。
剑池 CDK 工具及端云—体介绍(一)| 学习笔记
|
5月前
|
传感器 安全 前端开发
USB专用过压保护ic芯片选型指南
平芯微电子推出高性能过压过流保护芯片系列,涵盖OVP/OCP双重防护、超低内阻、宽压可调等创新技术,提供从消费电子到车载系统的全场景电源保护方案,助力提升产品可靠性与竞争力。
|
6月前
|
人工智能 调度 芯片
Chiplet 技术:芯片终于不再“憋大招”,而是开始像搭积木一样干活了
Chiplet 技术:芯片终于不再“憋大招”,而是开始像搭积木一样干活了
341 0
|
5月前
|
存储 弹性计算 监控
游戏公司不愿看到的代码:为《英雄联盟》《三角洲》打造高稳定代练业务系统源码与架构解析!
代练行业痛点如何破?基于UNIAPP+PHP轻量架构,低成本实现高并发稳定运行,阿里云全栈部署月成本不足20元,支持《英雄联盟》《三角洲行动》等大型赛事流量,开源方案助你快速搭建合规、高效、防封的代练系统。
489 1
游戏公司不愿看到的代码:为《英雄联盟》《三角洲》打造高稳定代练业务系统源码与架构解析!
|
5月前
|
数据可视化 JavaScript PHP
CatchAdmin 2025 年终总结:模块化架构的进化之路
CatchAdmin 2025年完成从4.1到5.0的重大升级:深化模块化架构,实现模块/插件零代码安装与自动菜单注册;增强代码生成器,支持可视化配置与导入导出;拥抱Composer生态,优化SFC加载性能。坚守PHP后台管理系统定位,兼顾开源与商业化探索。(239字)
246 2
|
5月前
|
数据采集 监控 API
1688商品列表API接口快速上手指南
本文介绍如何通过1688开放平台官方API,合规高效地获取店铺商品列表数据。以`item_search_shop`接口为例,详解请求参数、签名生成规则与调用限制,结合Python实战实现稳定采集。强调签名安全、频率控制与数据合规使用,助力B2B电商分析、选品监控等场景高效落地。(238字)
|
存储 安全 Java
极速Go语言入门(超全超详细)-基础篇
极速Go语言入门(超全超详细)-基础篇
49237 9
极速Go语言入门(超全超详细)-基础篇
西门子S7-200 SMART的交叉引用表、字节使用表、位使用表
本篇我们来学习西门子S7-200 SMART的交叉引用表、字节使用表、位使用表。首先我们先来看为什么要使用交叉引用:通过交叉引用窗口可以查看程序中参数赋值和存储器使用情况,避免重复赋值。
西门子S7-200 SMART的交叉引用表、字节使用表、位使用表
|
消息中间件 Kafka 测试技术
Kafka-manager部署与使用简单介绍
Kafka-manager部署与使用简单介绍
697 0
Kafka-manager部署与使用简单介绍
|
数据库
跟着 Nat Med. 学作图 | GSVA+limma差异通路分析+发散条形图
跟着 Nat Med. 学作图 | GSVA+limma差异通路分析+发散条形图
1481 0
跟着 Nat Med. 学作图 | GSVA+limma差异通路分析+发散条形图