javascript深入对象和内置构造方法

深入对象

构造函数高级

1
2
3
4
5
6
7
8
9
构造函数:一种特殊的函数,主要用来初始化对象
构造函数可以用来创建多个类似的对象
3.利用构造函数创建对象
function 构造函数名 ( ){
this.属性=值;
this.方法=function( ){ }
}
调用 new.构造函数名( );
构造函数首字母大写

实例化过程

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

实例成员和静态成员

1
2
3
4
5
6
7
8
1.实例成员:实例对象上的属性和方法都属于实例成员例如
const one =new Pig('佩奇')
one.name='小猪' //实例属性相互独立不影响其他
2.静态成员:构造函数上的属性和方法称为静态成员
function Pig(uname){
this.uname=uname
}
Pig.eyes=2 //静态属性

内置构造函数方法

Object

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

静态方法
1.Object.keys(value) // 用于获取自身所有属性
传入对象 返回对对象属性值
传入字符串 返回有多少个字符个数索引
传入数组 返回索引
2.Objet.assign(拷贝对象,被拷贝对象) //拷贝对象
3.Object.defineProperty(obj,prop,descriptor,...) //定义新属性或修改原有属性
obj : 必须 目标对象
prop: 必须 定义或者是修改的属性名字
descriptor: 必须 以对象{ }书写
value: 设置属性值 默认undefined
writable: 是否可以重写 true/false 默认false不能重写
enumerable: 是否可以遍历出现 true/false 默认false
configurable: 是否可以被删除或者再次修改第三个里面特性 true/false默认false
4.Object.values() //返回属性值数组

Array

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2.Array                                                                        
1.arr.forEach(function(currenValue,index,arr)) // 遍历数组(无返回值)
currenValur 数组当前项的值(必填)
index 数组当前的索引
arr 数组对象本身
2.arr.map((valur,index)=>{}) //遍历数组(有返回值)
3.arr.filter(function(currenValue,index,arr){ return 判断条件}) //筛选数组
注意返回一个新数组得赋值 (判断条件return 条件 赋值后就是满足条件的新数组)
4.arr.some(function(currenValue,index,arr{return 条件}) // 判断数组
有就停止不会往下执行返回布尔值
5.arr.reduce(function(上一次值,当前值){return 上一次值+当前值},初始值) //累计方法
(累加数组中数,有初始值就会加初始值)
如果没初始值,则上一次的值以数组的第一个元素的值
每一次循环,都会把返回值作为下一次循环的上一次值
如果有起始值,则起始值作为上一次值
6.arr.join() //数组元素拼接为字符串
7.arr.find(()=>{}) //返回满足测试函数的值
8.arr.every(()=>{}) //检测数组是否全部满足条件
9.arr.some(()=>{}) //检测是否有一个满足 (有true无false)
静态方法
Array.from(伪数组) //伪数组转化为真数组

String

1
2
3
4
5
6
7
8
9
10
11
1.length                                 //获取字符串长度
2.split('分隔符') // 字符串以分隔符形式创建数组
3.substring('起始位置','截取数量') // 截取字符串
4.startsWith(检测字符串[,起始位置]) //检测是否以某字符开头
5.includes搜索字符串[,起始位置]) //判断是否含有被检测字符串(区分大小写)
6.toUpperCase() //用于转化大写
7.toLowerCase() //转化小写
8.indexof() //检测是否包含某字符
9.replace() //替换字符串
10.JSON.perse() 实现json字符串转化为js对象(反序列化)
11.json.stringify() js对象转化为json字符串 (序列化)

Number

1
toFixed(数字)                            //保留多少位四舍五入