JavaScript学习日志,对象...简记
2021/4/9 20:25:18
本文主要是介绍JavaScript学习日志,对象...简记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
对象
构造函数
-
原型对象
构造函数的原型对象,该对象在构造函数创建时自动存在。该对象的属性和函数是构造函数的默认属性和方法。构造函数中的属性是私有的,但是原型对象中的是共有的。原型对象内有一个默认的 constructor 属性,指向构造函数。实例化对象中默认存在一个__proto__属性,该属性指向构造函数的原型对象。
-
对象属性的特征
configurable:false,能否使用 delete、能否需改属性特性、或能否修改访问器属性、,false 为不可重新定义,默认值为 true
enumerable:false,对象属性是否可通过 for-in 循环,flase 为不可循环,默认值为 true
writable:false,对象属性是否可修改,flase 为不可修改,默认值为 true
value:‘xiaoming’ 对象属性的默认值,默认值为 undefined
Object.defineProperty 可以使用该方法给对象添加属性或者对已有的属性进行修改,并可以修改对象属性特征。
例:
Object.defineProperty(Person,"name",{ value:"小明", configurable:false, writable:false, enumerable:false })
- Object.hasOwnProPerty();用于检测该对象中是否含有该属性。
- 先修改 configurable 在修改 writable 没有任何问题,反之,configurable 则不能被修改。
对象的继承
- 构造函数继承(此方法不太合适,不建议使用)
function SystemUser(name,age) { Person.call(this,name,age) } SystemUser.prototype=Person.prototype; SystemUser.prototype.constructor=SystemUser;
- 对象合并
- Object.keys(对象名),拿到对象的属性名集合。
- Object.assign(对象 1,对象 2,对象 3.。。。。。。。),将第一个对象后面的所有对象合并到第一个对象。重名的属性覆盖。
- 借助 js 高级语法 …:将对象里的内容展开
var obj={…obj1,…obj2},将两个对象合并到一起。
- 通过修改对象.prototype=对象,来实现继承效果
例: function Animal(type) { this.type = type; } Animal.prototype.say = function () { console.log("我是" + this.type + "动物"); }; var CatAnimal = new Animal("猫科类"); function Cat(name, age) { this.name = name; this.age = age; } Cat.prototype = CatAnimal; Cat.prototype.getName = function () { console.log("我的名字是" + this.name); };
- 注意:先继承之后在添加新的方法,否则添加的方法会被覆盖。
这篇关于JavaScript学习日志,对象...简记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南
- 2024-12-21功能权限实战:新手入门指南