JavaScript中Object.create()的用法介绍

本篇文章给大家带来的内容是关于JavaScript中Object.create()的用法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

Object.create(null) 创建的对象是一个空对象,在该对象上没有继承 Object.prototype 原型链上的属性或者方法

例如:toString(), hasOwnProperty()等方法

参数 说明

obj创建对象的原型,表示要继承的对象propertiesObject(可选 )也是一个对象,用于对新创建的对象进行初始化

我们来看看底层实现

立即学习“Java免费学习笔记(深入)”;

    Object.create =  function (o) {        var F = function () {};        F.prototype = o;        return new F();    };

登录后复制

下面我们来看具体应用:

    //创建一个Obj对象    var Obj ={        name:'mini',        age:3,        show:function () {            console.log(this.name +" is " +this.age);        }    }    //MyObj 继承obj, prototype指向Obj    var MyObj = Object.create(Obj,{        like:{            value:"fish",        // 初始化赋值            writable:true,       // 是否是可改写的            configurable:true,   // 是否能够删除,是否能够被修改            enumerable:true      //是否可以用for in 进行枚举        },        hate:{            configurable:true,            get:function () { console.log(111);  return "mouse" }, // get对象hate属性时触发的方法            set:function (value) {                                 // set对象hate属性时触发的方法                 console.log(value,2222);                return value;            }            }    });

登录后复制划重点:这里get和set 方法似乎还蕴含更大的潜力 。我们可以利用它们去实现数据的过滤和数据的绑定 。实现一些简单的mvvm的效果

Object.create继承的应用:

    var A = function () { };    A.prototype.sayName=function () {        console.log('a');    }    // B的实例继承了A的属性    var B = function () { };    B.prototype = Object.create(A.prototype);    var b = new B();    b.sayName();  // a

登录后复制

划重点:相对于构造函数的继承Object.create继承实现了将A,B的原型完美分隔 。双方不会互相影响。这是Object.create亮点所在

以上就是JavaScript中Object.create()的用法介绍的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2735600.html

(0)
上一篇 2025年3月8日 01:17:02
下一篇 2025年2月24日 01:41:05

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JavaScript中Proxy的详细介绍(代码示例)

    本篇文章给大家带来的内容是关于javascript中proxy的详细介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Proxy 让我们可以对任何对象的绝大部分行为进行监听和干涉,实现更多的自定义程序行为。 …

    编程技术 2025年3月8日
    200
  • JavaScript中Reflect的详细介绍(附示例)

    本篇文章给大家带来的内容是关于JavaScript中Reflect的详细介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Reflect 是一个内置的对象,它提供可拦截JavaScript操作的方法。方法与代理…

    编程技术 2025年3月8日
    200
  • JavaScript中import的详解(附示例)

    本篇文章给大家带来的内容是关于javascript中import的详解(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 import 语句用于导入由另一个模块导出的绑定。无论是否声明了 strict mode,导入…

    编程技术 2025年3月8日
    100
  • redux的核心讲解(代码示例)

    本篇文章给大家带来的内容是关于redux的核心讲解(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 概念 redux是一种架构模式,可以和react、vue结合使用。 解决的问题 优雅地修改共享数据状态,避免状态…

    2025年3月8日
    200
  • Vue封装ajax的代码示例详解

    本篇文章给大家带来的内容是关于vue封装ajax的代码示例详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 HTML文件: Document 点击获取信息 {{ msg }} var vm=new Vue({ el: “…

    编程技术 2025年3月8日
    200
  • JavaScrip的常见面试题及答案总结

    本篇文章给大家带来的内容是关于javascrip的常见面试题及答案总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、请解释 JavaScript 中 this 是如何工作的。 首先:this 永远指向函数运行时所在的…

    编程技术 2025年3月8日
    200
  • JavaScript中let、var和const的区别及应用场景的介绍

    在javascript中,建议在使用变量和常量时声明变量名称(下面统称为“变量”)。var,let和const是在javascript中声明变量时使用的关键字,其中,let和const是ecmascript 2015采用的新声明方法的关键字…

    2025年3月8日
    200
  • JavaScript的历史对象是什么

    javascript的历史对象是 window 对象的一部分,表示用户访问过的url的数组集合;它是用来保存着用户上网的历史历史,从窗口被打开的那一刻算起。 本篇文章给大家介绍JavaScript的历史对象,让大家对History对象有一个…

    2025年3月8日
    200
  • JavaScript提供的Cookie属性有哪些

    javascript提供的cookie属性有:expires属性(声明cookie的到期时间),max-age属性(声明cookie活动的最大时间),domain属性(定义有效域名),path属性。 Cookie是什么? Cookie是服务…

    2025年3月8日
    200
  • JavaScript 提升(Hoisting)是什么

    hoisting是javascript 中的一种机制,它可以将变量和函数的声明移到最顶部;让我们可以在声明它们之前使用变量和函数,也就是说:让变量和函数可以先使用再声明。 本篇文章就给大家介绍JavaScript的提升机制(Hoisting…

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论