作用域
局部作用域
- 函数作用域
- 块作用域:在js中使用 {} 包裹的代码称为代码块,代码块内部声明的变量外部将【有可能】无法被访问(var声明的可以)
- let 声明的变量会产生块作用域,var 不会产生块作用域。
- const 声明的常量也会产生块作用域。
- 不同代码块之间的变量无法互相访问。
- 推荐使用let 或 const。
全局作用域
写在script 标签 和 js 文件的最外层的 叫全局作用域。
作用域链
总结:
垃圾回收机制
内存的生命周期
说明
内存泄漏
堆栈空间分配区别
垃圾回收算法
闭包
闭包 = 内层函数 + 外层函数的变量【就是 里层函数+外层函数的变量】
变量和函数提升
变量提升
执行过程:在代码执行之前,他会把当前作用域下,所有var声明的,提升到当前作用域之前。【只提升声明,不提升赋值】
函数提升
arguments【动态参数】
arguments是函数内部内置的维数组变量,它包含了调用函数时传入的所有实参。【当不确定传递多少个实参的时候,就用它】
剩余参数
展开运算符
箭头函数
- 只有一个参数的时候可以省略()
- 只有一行代码的时候可以省略 {} 和 return
- const fn = () =>{}
- 可以直接返回一个对象,但是必须加():const fn = uname =>({name:uname})
- 箭头函数属于表达式函数,因此不存在函数提升。
参数
this
解构赋值
数组解构
数组解构就是将 数组的单元值快速批量赋值给一系列变量的简介语法。
赋值运算符 = 左侧的 [] 用于批量声明变量,右侧数组的单元值将被赋值给左侧的变量。
案例:交换变量
总结:
- 变量多,单元值少:最后一个变量undefined
- 变量少,单元值多:const[a,b] = [1,2,3],a和b的值为 1,2【可以利用剩余参数解决,但只能置于最末位】
- 防止 undefined 传递:const[a=0,b=0] = []
- 按需导入,忽略某些值:const[a,b,,d] = [1,2,3,4]【d是4,位置空下来了,要留位置】
- 多维数组解构:const [a,b,[c,d]] = [1,2,[3,4]]
对象解构
forEach
- forEach() 方法用于遍历数组对象的每个元素,并将元素传递给回调函数
- 语法:
const aa = [1,2,3,4,5] aa.forEach(function(item,index){ console.log(item) })
创建对象
Object
Array常见方法
- forEach : 不返回数组,经常用于查找遍历数组元素。
- filter :返回新数组,返回的是筛选满足条件的数组元素。
- map :返回新数组,返回的是出路之后的数组元素。
- reduce :返回累计处理的结果,经常用于求和
- join :数组元素拼接为字符串,返回字符串。
- find :查找元素,返回复测的第一个数组元素值,如果没有符合的就返回undefined。
- every:检测数组所有元素都符合(必须每一个都是)指定条件,如果所有元素都通过检测,返回true,否则false 。
- some:检测数组中的元素是否满足指定条件,如果数组中有元素满足条件返回true,否则false。(只要有一个满足)
- concat:合并两个数组,返回生成新数组。
- sort:对原数组单元值排序。
- splice:删除或替换原数组单元。
- reverse:翻转数组。
- findIndex:查找元素的索引值。
- Array.from():把伪数组转换为真数组。
字符串常见方法
- length:获取字符串长度。
- split(‘分隔符’):用来将字符串拆分成数组。(通过分割符,来分割)
// 把字符串转换为数组 let a = 'red,pick,kil,kkk' console.log(a.split(','))
- substring():字符串的截取。(开始,结束),左包右不包、结束可以省
let b = 'redpickikkk' console.log(b.substring(0,4)) //redp
- startsWith():检测是否以某字符串开头
let b = 'redpickikkk' console.log(b.startsWith('a')) //false console.log(b.startsWith('r')) //true
- includes():判断一个字符串是否包含在另一个字符串中
let b = 'redpickikkk' console.log(b.includes('dpick')); //true console.log(b.includes('dik')); //false
- toUpperCase:将字母转换成大写。
- toLowerCase:转换成小写。
- indexOf:检测是否包含某字符。
- endsWith:检测是否以某字符串结尾。
- replace:用于替换字符串。(支持正则)
- match :用于查找字符串(支持正则)。
原型
constructor
原文地址:https://blog.csdn.net/weixin_45836841/article/details/132870949
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_26944.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。