JS-进阶-构造函数

JS学习笔记14

深入对象

创建对象的方式

  1. 利用对象字面量创建
  2. new Object()
1
const obj=new Object()

利用构造函数创建对象

  • 是一种特殊的函数,主要用来初始化对象。(创建多个类似的对象)
  • 命名以大写字母开头
  • 只能由 new 操作符来执行
1
2
3
4
5
function Pig(uname,age){
this.uname=uname;
this.age=age;
}
new Pig('佩奇',6)
  • new调用函数的行为被称为实例化
  • 构造函数内部无需写return

实例化执行过程

  1. 创建新对象
  2. 构造函数执行this指向新对象
  3. 执行构造函数代码,修改this,添加新的属性
  4. 返回新对象

实例成员&静态成员

  • 通过构造函数创建的对象称为实例对象,实例对象中的属性和方法属于实例成员

  • 不同实例之间的实例成员互不影响

  • 静态成员:构造函数的属性和方法

  • 静态成员写在构造函数身上

内置构造函数

js底层完成,把简单数据类型包装成了引用数据类型的构造函数称为包装类型。

引用类型

Object

  1. Object.keys静态方法获取对象中所有属性名
1
console.log(Object.key(o)) 输出一个属性名数组
  1. Object.value静态方法获取对象中所有属性值

输出一个属性值数组

  1. Object.assign对象的拷贝
1
2
Object.assign(a,b)
把b拷贝给a

Array

1.数组常见实例方法

forEach() 遍历 不返回数组

filter() 过滤 返回新数组(满足筛选条件的新数组)

map() 迭代数组 返回新数组(返回处理完后的新数组)

reduce(function(prev,current){},初始值) 返回一个值,初始值可选

2.其他方法

find() 返回数组中满足提供的测试函数的第一个元素的值,否则返回UNDEFINED

1
2
3
4
5
const arr = ['red', 'blue', 'green']
const re = arr.find(function (item) {
return item === 'blue'
})
console.log(re)

every() 返回布尔值

1
2
3
4
const arr1 = [10, 20, 30]
const flag = arr1.every(item => item >= 20)
console.log(flag)
// every 每一个是否都符合条件,如果都符合返回 true ,否则返回false

some()返回布尔值,只要有一个符合就是true

Arrat.from(伪数组) 把伪数组转化为真数组

string

常见实例方法

1.split() 把字符串转化为数组

2.字符串的截取 substring(开始的索引号[, 结束的索引号]) 中括号表示可选参数

  • 如果省略结束的索引号,默认取到最后
  • 结束的索引号不包含想要截取的部分
  1. startsWith() 判断是不是以某个字符开头
  2. includes() 判断某个字符是不是包含在一个字符串里面

toFixed

让数字保留指定的小数位数

1
2
3
4
5
6
// toFixed 方法可以让数字指定保留的小数位数
const num = 10.923
// console.log(num.toFixed())
console.log(num.toFixed(1))
const num1 = 10
console.log(num1.toFixed(2))

JS-进阶-构造函数
https://wjcbolg.cn/2023/04/29/JS学习笔记14/
作者
JasonWang
发布于
2023年4月29日
许可协议
BY-JW