博客
关于我
Object.create
阅读量:799 次
发布时间:2023-02-17

本文共 1694 字,大约阅读时间需要 5 分钟。

JavaScript对象模型实践

一、Object.create 的应用

Object.create 是 JavaScript 中用于创建对象的重要工具。它接受两个参数:第一个参数表示要继承的对象,第二个参数(可选)用于对新对象进行初始化。

1. 对象初始化

var Obj = {     name: 'mini',     age: 3,     show: function () {         console.log(this.name + " is " + this.age);     } };var MyObj = Object.create(Obj, {     like: {         value: "fish",         writable: true,         configurable: true,         enumerable: true     },     hate: {         configurable: true,         get: function () {             console.log(111);             return "mouse"         },         set: function (value) {             console.log(value, 2222);             return value;         } });
  • MyObj.name 输出 mini
  • MyObj.like 初始化为 "fish",且可以通过 MyObj.like = "peanut" 修改为 "peanut"
  • MyObj.hateget 方法会输出 111set 方法则会输出修改后的值。

2. 继承机制

var A = function () {}; A.prototype.sayName = function () {     console.log('a'); };var B = function () {}; B.prototype = Object.create(A.prototype); var b = new B(); b.sayName(); // 输出 'a'// 修改 B 的 prototypeB.prototype = {     sayName: function () {         console.log("b");     }};var b1 = new B(); b1.sayName(); // 输出 'b'// A 实例保持不变var a1 = new A(); a1.sayName(); // 输出 'a'

3. 原型链原理

var A = function () {}; var a = new A(); console.log(a.__proto__); // 输出 A {}console.log(a.__proto__.__proto__); // 输出 Object {}console.log(a.__proto__.__proto__.__proto__); // 输出 null

二、对象构建的多种方式

1. 字面量方式

var a = {}; console.log(a.__proto__); // 输出 Object {}

2. 构造器方式

var A = function () {}; var a = new A(); console.log(a.__proto__); // 输出 A {}

3. Object.create 方式

var a1 = { a: 1 }; var a2 = Object.create(a1); console.log(a2.__proto__); // 输出 Object {a: 1}

以上内容通过多种方式展示了 JavaScript 对象模型的实现原理,结合实际案例,帮助开发者更好地理解和应用。

转载地址:http://xynfk.baihongyu.com/

你可能感兴趣的文章
Nodejs教程09:实现一个带接口请求的简单服务器
查看>>
nodejs端口被占用原因及解决方案
查看>>
Nodejs简介以及Windows上安装Nodejs
查看>>
nodejs系列之express
查看>>
nodejs系列之Koa2
查看>>
Nodejs连接mysql
查看>>
nodejs连接mysql
查看>>
NodeJs连接Oracle数据库
查看>>
nodejs配置express服务器,运行自动打开浏览器
查看>>
Nodemon 深入解析与使用
查看>>
node不是内部命令时配置node环境变量
查看>>
node中fs模块之文件操作
查看>>
Node中的Http模块和Url模块的使用
查看>>
Node中自启动工具supervisor的使用
查看>>
Node入门之创建第一个HelloNode
查看>>
node全局对象 文件系统
查看>>
Node出错导致运行崩溃的解决方案
查看>>
Node响应中文时解决乱码问题
查看>>
node基础(二)_模块以及处理乱码问题
查看>>
node安装及配置之windows版
查看>>