菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题: js的对象属性_汪刚_20230529 [打印本页]
作者: 霁后彩虹O 时间: 2023-5-30 22:44
标题: js的对象属性_汪刚_20230529
今日学习内容:
1.对象的属性
value(): 结果是一个数组
keys(): 结果是一个数组
2.对象的增删改查
obj.对象属性 如果没有这个属性直接增加,如果有这个属性,直接进行覆盖修改
delete obj.属性名 删除对象的属性
defineProperty 修改对象一个属性
value: 值 配置设置一个值
writable:true 是否可修改,默认是false,不可修改
enumerable: true 是否可以被枚举(遍历),默认是false.
configurable:true 是否可删除,默认是false,不可以删除
3.改变this的三个方法
call()
会调用函数
可以改变函数的this指向
参数的传递就和之前函数一样
apply()
调用函数
改变函数的this指向
第二个参数需要是一个数组类型,里面存放函数的参数
bind属性
bind() - 使用频率高些
不会直接调用函数,返回一个新函数
改变函数this的指向
4.对象
定义:属性和方法的无序集合
工厂模式 :封装一个函数-创建具体的对象 –—这个函数就像一个模板
构造函数规范:
函数名使用大写(和普通函数做个区别)
内部使用this添加属性和方法
不需要使用return关键字(内部会自动返回一个对象)
调用必须使用关键字new
构造函数在创建的时候this是没有指向
实例出具体的对象的时候,this就指向了这个对象
new的时候,我们程序执行了如下几步
1.在内存中创建一个空的对象 - {} 2.确定this指向,指向这个空对象
3.构造函数内部代码的执行,给这个空对象添加属性和方法 4.返回这个新的对象 - 内部自动执行return
对象中的成员:
实例成员 (实例化对象可以访问的属性或方法)
静态成员 (只有构造函数才能访问的属性或方法)
instanceof属性
构造函数可以让我们更好的区分对象的类型
instanceof 判断某个对象是否是某个构造函数的实例化
结果是一个布尔值
5.原型对象
每个函数都有一个原型prototype,它是一个对象,所以我们也叫它原型对象,我们可以把所有的方法挂载在这个原型对象上
方法是挂载在构造函数的原型上的,为什么实例化对象可以访问?
每个实例化对象都有一个属性,叫 proto,我们可以叫它对象的原型,它是一个非标准
对象的原型全等于构造函数的原型对象
所以我们的实例对象就可以访问构造函数的原型上的方法
5.constructor 构造器、构造函数的意思
作用:主要用于记录该对象引用于哪个构造函数
它可以让原型对象重新指向原来的构造函数。
6.原型链
所有的js对象都有一个prototype属性,指向它的原型对象,当试图访问一个对象的属性时,如果没有在该对象找到,它还会搜寻该对象原型,以及该对象原型的原型,依次层层向上查找搜索,知道找到一个名字匹配的属性或到达原型链末尾。
7.继承
构造函数加原型的继承方式
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/) |
Powered by Discuz! X3.4 |