严格模式:

除了正常运行模式,ECMAscript 5添加了第二种运行模式:“严格模式” 这种模式使得JavaScript在更严格的条件下运行。

严格模式的目的:
1.消除JavaScript语法的一些不合理,不严谨之处,减少一些怪异的行为;
2.消除代码运行的一些不安全之处,保证代码的运行安全
3.提高编译器效率,增加运行速度
4。为未来新版本的JavaScript做好铺垫
注:严格模式体现了JavaScript更安全,更合理,更严谨的发展方向,包括IE 10在内的主流浏览器,都支持它

严格模式的使用:
写在那个作用域下,在那个作用域下生效。
“use strict”
注:尽量注意不要将严格模式写在全局

用了严格模式,会有什么变量
1.全局变量声明时,必须加var
2.this 无法指向全局对象;
3.函数内重名属性 声明形参不能出现同命名的现象
3 例:

function show( num1 , num1,num2){"use strict";alert(num1+","+num2);}show(10,20,30);

如果不加"use strict"; 会输出 20,30;

4…arguments对象不允许被改变 ps:arguments只保存原本的数

function show(){num1 ="hello";
alert(num1+" "+num2);结果为 hello 20
alert(arguments[0]+" "+arguments[1]) 结果为 hello 20
}
how(10,20);  加上"use strict";
function show(){"use strict";
num1 ="hello";
alert(num1+" "+num2);结果为 hello 20
alert(arguments[0]+" "+arguments[1])结果为 10 20

5.新增保留字:implements interface let package private protected public static yield

JavaScript-ECMA5严格模式新增数组方法

1.indexOf()
格式:数组.indexOf(item,start);
参数:item 任意的数据
start 下标 可以不传 默认为0
功能:在数组中查找第一次出现item 元素下标 ,从start开始去查找
返回值;-1 没有查找到
>=0 查到的元素的下标

var arr = [10,23,51,65,23,51];
var index = arr.indexOf(51,3);
alert(index);

2.数组遍历
for循环
for… in
forEach(ECMA5新增)

var arr =[10,23,42,42,122,44];
arr.forEach(function( item,index,arr){/*item 当前遍历到的元素index 当前遍历到的元素下标arr 数组本身document.write(item +" "+ index +" "+arr+"<br/>");})

结果:
10 0 10,23,42,42,122,44
23 1 10,23,42,42,122,44
42 2 10,23,42,42,122,44
42 3 10,23,42,42,122,44
122 4 10,23,42,42,122,44
44 5 10,23,42,42,122,44

3.map 映射

  var arr =[10,20,30,40]var newArr =arr.map(function(item,index,arr){//遍历要做的事,映射关系,不改变原数组return item*1.3;}) alert(newArr);//新的数组是原数组每个的1.3倍

4. folter() 过滤

var arr =[10,20,30,40]var newArr =arr.folter(function(item,index,arr){//过滤条件return item>20;}) alert(newArr);//新的数组是原数组所有大于20的元素

5,some 某些 在数组中查找是否有item的元素 有则返回ture 没有则false
短路操作:只要找到复合条件的元素,后面的循环就停止了

var arr =[10,20,30,40]
var res =arr.some(function(item,index,arr){//过滤条件return item>20;}) alert(res);//返回ture

6. every 每一个
注:在数组中每一个元素是否都复合条件,符合返回true 没有返回false
短路操作:只要找到不符合条件的元素,后面的循环就停止了

var arr =[10,20,30,40]var res =arr.every(function(item,index,arr){//过滤条件return item<50;}) alert(res);//返回ture

7.reduce 归并
prev:第一次是,下标为0的元素
第二次开始 上一层遍历return的值
next:从下标1开始,当前遍历到的元素
index 当前遍历到的元素下标
arr 数组本身

JavaScript-ECMA5严格模式,以及JavaScript-ECMA5严格模式新增数组方法相关推荐

  1. Web前端JavaScript笔记(7)ECMA6新增数组方法

    新增数组方法: 1. Array.from():  将伪数组转化为真数组 <script>window.onload = function () {let tag_li = documen ...

  2. 用JavaScript实现的设计模式之commandline(命令行)模式

    使用Commandline设计模式之前的源代码: <html> <script>// Priority: ActiveX > HTML5 > Flash > ...

  3. JavaScript学习(七十二)—严格模式

    JavaScript学习(七十二)-严格模式 JavaScript除了提供正常模式外,还提供了严格模式,ES5的严格模式是采用具有限制性JavaScript变体的一种方式,即在严格条件下运行JS代码, ...

  4. [译] JavaScript 的函数式编程是一种反模式

    本文讲的是[译] JavaScript 的函数式编程是一种反模式, 原文地址:Functional programming in JavaScript is an antipattern 原文作者:A ...

  5. IE6,7,8开发人员工具使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)

    在上一篇文章IE8"开发人员工具"使用详解上(各级菜单详解) 中,我们详细地讲解了IE8开发人员工具中各个菜单中命令的使用方法,相信很多朋友应该已经使用上了.而IE8开发人员工具更 ...

  6. 【JavaScript设计模式张容铭】抽象工厂模式深度剖析——关于继承与constructor属性的深度理解

    写在前面 最近阅读了张容铭的<JavaScript设计模式>一书,阅读到抽象工厂模式一节时对书上的代码产生了疑问,但同时在解决疑问的过程中,对继承又产生了新的理解. 我仔细查阅了很多文章, ...

  7. JavaScript设计模式(三):结构型设计模式-外观模式、适配器模式、代理模式、装饰者模式、桥接模式、组合模式、享元模式

    JavaScript设计模式 - 结构型设计模式 套餐服务-外观模式 外观模式(Facade) 水管弯弯-适配器模式 适配器模式(Adapter) 适配异类框架 参数适配 牛郎织女-代理模式 代理模式 ...

  8. JavaScript 设计模式学习第九篇- 抽象工厂模式

    工厂模式 (Factory Pattern),根据输入的不同返回不同类的实例,一般用来创建同一类对象.工厂方式的主要思想是将对象的创建与对象的实现分离. 抽象工厂 (Abstract Factory) ...

  9. JavaScript 23 种设计模式之 4 抽象工厂模式

    JavaScript 23 种设计模式之 4 抽象工厂模式 概念与特点 结构与实现 应用场景 应用实例 总结 概念与特点 概念: 提供一组相关或相互依赖对象的接口.抽象工厂模式是工厂方法模式的升级版, ...

最新文章

  1. 【文本分类】Deep Pyramid Convolutional Neural Networks for Text Categorization
  2. 【数据平台】python语言NLP库Gensim初识
  3. vue cli 项目在打包时候报错 API fatal error handler returned after process out of memory
  4. 检查单 2015-05-15-01
  5. 二十不惑,三十而已|网易互联网人的“焦虑必杀技”
  6. 字节输入流_InputStream类FileInputStream类介绍
  7. UML 面向对象分析与设计
  8. 算法训练营 重编码_编码训练营适合您吗?
  9. 0基础lua学习(二十)Lua单例
  10. Linux 技巧: 从命令行创建像素标尺
  11. C# 连接 Sqlserver2005 Analysis Service的总结
  12. python 泰坦尼克号存活率分析
  13. [Vue CLI 3] 环境变量和模式配置实践与源码分析
  14. 高通滤波器的电压传递函数_一次弄懂低通、高通、带通、带阻、状态可调滤波器!...
  15. Simply Fortran 保姆级教程
  16. 【STM32H7教程】第39章 STM32H7的DMAMUX基础知识(重要)
  17. Fedora 安装 QQ音乐
  18. 「职称」2022年度中高级职称线下申报材料组卷要求(下)
  19. IDEMIA任命Astrid Warren为首席人力官
  20. Android 面试题(有详细答案)

热门文章

  1. php两个时间戳相隔多少天
  2. PHP大小写:函数名和类名不区分,变量名区分
  3. 【艾米莉娅】Sicily:1001. Alphacode 代码分享
  4. 快速了解 LVS 负载均衡群集
  5. 阿里钉钉火了,疫情过后将超过腾讯微信?
  6. 如何怎样查看电脑操作系统是32位还是64位简便方法
  7. ubuntu软件源更新不了,解决方法
  8. 基于QT+MySQL的相机租赁管理系统
  9. root后待机耗电,手机root后耗电
  10. 【AI with ML】第 10 章 :创建 ML 模型以预测序列