作用域,数组与字符串的常用方法

作用域

作用域 分为 全局作用域 和 私有作用域(函数)

作用域的查找规则

  1. 现在自己的作用域中找,找到后直接拿来用
  2. 如果在自己的作用域中找不到,就向上一级查找,有就直接用
  3. 上一级没有这个作用域,就再往上找 直到全局作用域 有就拿来用
  4. 如果全局作用域中也没有 ,就报错 。。is not defined

作用域的赋值规则

  1. 先在自己的作用域中找,找到后直接赋值
  2. 如果自己的作用域中找不到 就向上一级查找 有直接赋值
  3. 如果上一级没有这个变量,就再向上查找 直到找到 全局作用域 有世界赋值
  4. 如果全局作用域中没有 就先声明 然后赋值

数据的操作

数组的删除

  1. 方法一:

    arr.length--
    
  2. 方法二:

     arr.pop()
    

    返回值: 被删除的数据

    会改变原数组

添加数组元素

arr.push("要添加的数据")

返回值: 改变后的数据长度

会改变原数组

删除第一项

arr.shift()

返回值:被删除的数据

会改变原数组

添加第一项

arr.unshift()

返回值:改变后的数组长度

会改变原数组

查找

arr.indexOf("要查找的数据")

返回值: 查找到 就返回对应的索引

​ 没有查找到 就返回 -1

不改变原数组

反转数组

arr.reverse()

返回值:改变后的原数组

会改变原数组

以特定的符号把数组中的内容链接成一个字符串

arr.join("以什么符号链接")

如果没有传参数 默认是空字符串

返回值:链接好的字符串

不会改变原数组

截取数组中的数据

arr.splice(开始截取的索引,截取的个数,替换被截取的数据)

返回值:截取好的数据放到一个新的数组中返回

会改变原数组

排序

arr.sort((a,b) => {return a-b})  //从小到大
arr.sort((a,b) => {return b-a})  //从大到小

返回值:改变后的原数组

会改变原数组

ES5中数据的方法

遍历数据

arr.forEach(function(item,index,arr){})

没有返回值

不会改变原数组 某些特定情况下例外

映射

是数组的一个映射 把数组的每一项进行操作后 返回出去作为一个新的数据

arr.map(function(item,index,arr){})

返回值:一个新的数据

不改变原数组

过滤

过滤数组中符合条件的数据 作为一个新的数组返回

arr.filter(function(item,index,arr){})

返回的是一个新的数组

不改变原数组

只要数组中有一个条件满足 返回 true 不满足 就返回 false

arr.some(function(item,index,arr){})

返回值: 一个布尔值

不改变原数组

数组中的每一项都满足 返回 true

只要有一个不满足 就返回 false

arr.every(function(item,index,arr){})

返回值: 一个布尔值

不改变原数组

this 关键字的指向

  1. 在全局作用域中 指向 window
  2. 如果是 函数名() 的调用方法 指向 window
  3. 如果是 对象 . 函数名()的的调用方法 指向 对象
  4. 如果是事件处理函数 里面的 this 指向 事件源

字符串的方法

字符串的常用方法

查找

res.charAt(索引)

返回值:对应的位置的字符

不会改变原字符串

res.charCodeAt(索引)

返回值:对应位置字符串的编码

不会改变原字符串

str.indexOf("想要查找的字符")

返回值:对应字符的索引 没有找到就是 -1

不会改变原字符串

字符串转小写

str.toLowerCase()

返回值: 转换后的字符串

不会改变 原字符串

字符串转大写

str.toUpperCase()

返回值: 转换后的字符串

不会改变 原字符串

把字符串以某种符号分割为数组

str.split("某种符号")

把字符串以某种符号分割成数组

如果字符串中没有这个符号 则把字符串当成一个整体,放到一个数据中

如果没哟传参 则把整个字符串当成一个整体 放到一个数据中返回

返回值:以符号分割好的数据

不会变原数组

截取字符串

str.subString(截取开始的位置,截取结束的位置)

包前不包后

返回值:截取中的字符串

不会改变原字符串

str.substr(截取开始的位置,截取的个数)

返回值就是截取出来的字符串

不会改变原字符串

替换字符串

str.replace('替换前的字符串''替换后的字符串')

字符串和数组共有的方法

indexOf()

concat()

链接字符串或者数组

slice()

截取

slice(截取开始的位置,截取结束的位置) //包前包后

如果第二个参数是一个附属 代表从第一个参数的位置开始 截取的 length + (- 截取结束的位置)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值