返回
前端知识总结之JavaScript篇
前端
2024-01-18 06:24:59
this的使用场景
- 作为对象的方法 :在对象的方法中,this指向该对象本身,可以访问对象的属性和方法。
- 作为函数的参数 :在函数的参数中,this指向该函数被调用的对象,可以访问该对象属性和方法。
- 作为构造函数 :在构造函数中,this指向新创建的对象,可以为新对象添加属性和方法。
New的运行机制
- 分配内存 :首先,JavaScript解释器会分配一块内存空间用于存储新对象。
- 初始化 :然后,JavaScript解释器会将构造函数中的代码复制到新对象中,并执行构造函数中的代码来初始化对象。
- 返回对象 :最后,JavaScript解释器会将新对象返回给调用者。
作用域/预解析/作用域链
- 作用域 :作用域是指变量和函数的可见范围。
- 预解析 :JavaScript解释器在执行代码之前会先进行预解析,其中包括确定变量和函数的作用域。
- 作用域链 :作用域链是一系列作用域的集合,它决定了变量和函数在哪个作用域中可见。
Array数组的相关方法
- push() :将一个或多个元素添加到数组的末尾。
- pop() :从数组的末尾移除最后一个元素并返回该元素。
- unshift() :将一个或多个元素添加到数组的开头。
- shift() :从数组的开头移除第一个元素并返回该元素。
- slice() :返回数组中指定范围的元素。
- splice() :从数组中移除指定范围的元素,并可添加或替换元素。
- concat() :将两个或多个数组合并为一个新的数组。
- join() :将数组中的元素连接成一个字符串。
- reverse() :反转数组中的元素。
- sort() :对数组中的元素进行排序。
String字符串的相关方法
- charAt() :返回字符串中指定位置的字符。
- charCodeAt() :返回字符串中指定位置字符的Unicode编码。
- concat() :将两个或多个字符串连接成一个新的字符串。
- indexOf() :返回字符串中指定子字符串的第一个出现位置。
- lastIndexOf() :返回字符串中指定子字符串的最后一个出现位置。
- match() :使用正则表达式在字符串中查找匹配的子字符串。
- replace() :用指定的新字符串替换字符串中匹配的子字符串。
- search() :使用正则表达式在字符串中查找匹配的子字符串,并返回其位置。
- slice() :返回字符串中指定范围的字符。
- split() :将字符串分割成一个数组。
- toLowerCase() :将字符串中的所有字母转换为小写。
- toUpperCase() :将字符串中的所有字母转换为大写。
闭包/闭包的优缺点
- 闭包 :闭包是指可以访问其他函数内部变量的函数。
- 闭包的优点 :
- 可以访问其他函数内部变量,从而实现一些特殊的功能。
- 可以将变量的作用域限定在函数内部,从而提高代码的可读性和安全性。
- 闭包的缺点 :
- 可能会导致内存泄漏,因为闭包中的变量无法被垃圾回收器回收。
- 可能会使代码难以理解和维护,因为闭包中的变量可能在其他函数中被修改。
面向对象和面向过程
- 面向对象 :面向对象是一种编程范式,它将数据和行为封装成对象,并通过对象之间的交互来实现程序的功能。
- 面向过程 :面向过程是一种编程范式,它将程序分解成一系列的步骤,并按顺序执行这些步骤来实现程序的功能。
面向对象的三个特征
- 封装 :封装是指将数据和行为封装成对象,并通过对象之间的交互来实现程序的功能。
- 继承 :继承是指子类可以继承父类的属性和方法,从而实现代码的重用。
- 多态 :多态是指子类可以重写父类的方法,从而实现不同的功能。
对象的创建方式
- 字面量语法 :字面量语法是创建对象的最简单的方式,只需使用大括号{}将对象的属性和方法列出即可。
- 构造函数 :构造函数是一种创建对象的方法,它可以接收参数并将其赋值给新对象的属性。
- 工厂函数 :工厂函数是一种创建对象的方法,它返回一个新对象。
- 类 :类是创建对象的一种语法糖,它可以简化对象的创建过程。