开发者社区> 问答> 正文

Js面向对象的几种方式?

展开
收起
前端问答 2020-01-06 12:55:24 4820 0
1 条回答
写回答
取消 提交回答
  • 前端问答小助手

    1.对象的字面量 var obj = {}

    2.创建实例对象 var obj = new Object();

    3.构造函数模式 function fn(){} , new fn();

    4.工厂模式:用一个函数,通过传递参数返回对象。function fn(params){var obj =new Object();obj.params = params; return obj;},fn(params);

    5.原型模式:function clock(hour){} fn.prototype.hour = 0; new clock();

    首先,每个函数都有一个prototype(原型)属性,这个指针指向的就是clock.prototype对象。而这个原型对象在默认的时候有一个属性constructor,指向clock,这个属性可读可写。而当我们在实例化一个对象的时候,实例newClock除了具有构造函数定义的属性和方法外(注意,只是构造函数中的),还有一个指向构造函数的原型的指针,ECMAScript管他叫[[prototype]],这样实例化对象的时候,原型对象的方法并没有在某个具体的实例中,因为原型没有被实例。

    2020-01-06 12:56:14
    赞同 1 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载