ES5简介

ES5简介ES5es5 严格模式 usestrict 声明严格模式 n 123console log n 这个里面会直接报错采用了严格模式后对应的内容需要更加规范不支持八进制 eslint 代码检查器 怪异模式 n 123console log n 1 不可以省略 var 声明变量 usestrict 声明严格模式 n 123 报错 console log n 2 禁止函数使用 this 关键字指向全局变量 body amp body

ES5

es5严格模式

“use strict”; 声明严格模式

n = 123 console.log(n); //这个里面会直接报错 采用了严格模式后对应的内容 需要更加规范 不支持八进制 //eslint 代码检查器  //怪异模式 n = 123 console.log(n); 

1、不可以省略var声明变量

"use strict"; //声明严格模式 n = 123 //报错 console.log(n); 

2、禁止函数使用this关键字指向全局变量

<body> <div id="box" onclick="handlerClick()">111 
     div> <script> function handlerClick(){ 
       console.log(this); //打印undefined }  
      script>  
       body> 

3、禁止使用八进制方法

4、不允许在非函数的代码块内声明函数

5、严格模式下,arguments变量,形参是不会变(不同步)

es5的数组高阶函数
什么是高阶函数 以函数作为参数的函数叫做高阶函数

es5数组的方法 静态方法

var arr = ['a','b','c','d'] console.log(Array.isArray(arr)); //判断是否是一个数组 返回为布尔类型的值 
es5关于数组的高阶函数

forEach 遍历的函数 没有返回值

arr.forEach(function(value,index,array){ 
    //第一个value表示值 第二个index表示下标 第三个array表示你遍历的数组 console.log(value); console.log(index); console.log(array); //value = value+value //value是只读属性 array[index] = value+value }) 

map遍历的函数 有返回值 //返回数组 数组的长度和我们原本的数组长度一致

var newArr = arr.map(function(value,index,array){ 
    if(value!='a'){ 
    //当a的时候不返回 a位置的结果 undefined return value+value } }) console.log(newArr.length); console.log(arr); console.log(newArr); 

filter 过滤 返回值为数组里面指定是一个function

 var arrs = [10,15,12,13,11] //过滤掉12以下的数据 var newArr = arrs.filter(function(value,index,array){ 
    if(value>=12){ 
    return value } }) console.log(newArr); var strArr = ["abcdde",'abc','efg','abc123','cab'] //过滤掉 里面包含abc var strArr1 = strArr.filter(function(v,i,arr){ 
    if(!/abc/.test(v)){ 
    return v } }) var strArr2 = strArr.filter(function(v,i,arr){ 
    if(i%2==0){ 
    return v } }) console.log(strArr1); console.log(strArr2); 

reduce 计算方法 计算总和(从左到右)

 var arrs = [1,2,3,4] //上一个值 当值 当前下标 遍历的数组 var sum = arrs.reduce(function(preValue,currentValue,currentIndex,arr){ 
    return preValue+currentValue }) console.log(sum); 

reduceRigth 计算方法(从右到左)

var count = arrs.reduceRight(function(preValue,currentValue,currentIndex,arr){ 
    return preValue+currentValue }) console.log(count); var strArr3 = ['A','B','C'] var str1 = strArr3.reduce(function(preValue,currentValue,currentIndex,arr){ 
    return preValue+currentValue }) var str2 = strArr3.reduceRight(function(preValue,currentValue,currentIndex,arr){ 
    return preValue+currentValue }) console.log(str1); console.log(str2); 

every 遍历每一个是否都符合条件 返回布尔类型的值 都符合条件返回true 有一个不符合返回false

var numberArr = [1,20,15,30] var isTrue = numberArr.every(function(v,i,arr){ 
    return v<30 }) console.log(isTrue); 

some 是否存在符合条件的 有一个就返回true 都没有返回false

var numberArr = [1,20,15,30] var isTrue = numberArr.some(function(v,i,arr){ 
    return v<0 }) console.log(isTrue); 

针对日期 新增方法 now() 静态方法 获取当前日期离1970年1月1日0时0分0秒的毫秒值(时间戳)

var n = Date.now() //这个使用多 console.log(n); 

字符串模板

var str = `${ 
     n}hello` 

对于对象来说提供get及set

var user = { 
    username:'张三', name:{ 
    get name(){ 
    //获取会自动调用 return this.username }, set name(username){ 
    //设置会自动调用 this.username = username } } } console.log(user.name);//获取name属性 默认执行get方法 user.name = '李四' //设置name属性 默认执行set方法 
this指向的改变 es5的bind
 var user = { 
    username:'张三' } function hello(){ 
    console.log(this); //指向user } //bind将这个函数绑定给一个对象 那么这个函数里面的this就会指向对应的对象 //函数对象.bind(绑定的对象)() hello.bind(user)() var obj = { 
    print:function(){ 
    console.log(this.username); } } obj.print.bind(user)() //一般我们绑定的this都是函数里面的 bind绑定对象 一般常用于定时器 setInterval(obj.print.bind(user),2000) 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222101.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午4:34
下一篇 2026年3月17日 下午4:34


相关推荐

  • saltstack中grains详解

    saltstack中grains详解一 grains 简介 1 Grains 是 SaltStack 的一个组件 存放在 SaltStack 的 minion 端 2 当 salt minion 启动时会把收集到的数据静态存放在 Grains 当中 只有当 minion 重启时才会进行数据的更新 3 由于 grains 是静态数据 因此不推荐经常去修改它 1 应用场景 信息查询 可用作 CMDB 在 target 中使用 匹配 minion 在 st

    2026年3月19日
    2
  • 使用 & 进行高效率取余运算

    使用 & 进行高效率取余运算

    2021年11月12日
    70
  • Mybatis分页插件的使用

    Mybatis分页插件的使用Mybatis 分页插件使用

    2026年3月26日
    1
  • 偏态分布学习笔记(期望,中位数,众数)

    偏态分布学习笔记(期望,中位数,众数)一:偏态函数分类(1)正态(期望=中位数=众数)(2)正偏态:也称为右偏态(期望>中位数>众数)(3)负偏态:也称左偏态(期望<中位数<众数)二:如何辨认正负偏态函数关键:看尾巴哪边长,左边尾巴长的成为左偏态(负偏态),反之右偏态(正偏态)三:关于期望,中位数,众数参考上面的草图:可以这样理解,(1)对于正偏态而言,数据大多分布在右侧,从而也就把期望与中位数往右侧移动。(2)对于负偏态而言,数据大多分布在左侧,从而也就把期望与中位数往左侧移动。…

    2025年11月12日
    5
  • GoLand 2021.12.12激活[最新免费获取]

    (GoLand 2021.12.12激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html0BXA05X8YC-eyJsa…

    2022年3月30日
    49
  • Java多线程面试题(面试必备)

    文章目录一、多线程基础基础知识1.并发编程1.1并发编程的优缺点1.2并发编程的三要素1.3并发和并行有和区别1.4什么是多线程,多线程的优劣?2.线程与进程2.1什么是线程与进程2.2线程与进程的区别2.3用户线程与守护线程2.4什么是线程死锁2.5形成死锁的四个必要条件2.6如何避免死锁3.创建线程的四种方式4.线程状态和基本操作一、多线程基础基础知识1.并发编程1.1并发编程的优缺点优点:充分利用多核CPU的计算能力,通过并发编程的形式将多核CPU的计算.

    2022年4月7日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号