Javascript 对象钟的两种写法法的区别

javascript定义对象的几种简单方法

1.构造函數方式全部属性及对象的方法都放在构造方法里面定义

缺点:每创建一个对象就会创建相同的方法函数对象,占用大量内存

2.原型方式將对象属性及方法定义都写在对象的prototype里面

优点:每次创建对象时都是使用相同prototype中的方法,不会占用重复的内存

缺点:无法动态传递构造参數

原型方式的另一种写法: (1) 初始对象体内可以不定义任何东西; (2) 在要定义的变量前加“对象名.prototype.”的格式; (3) 对象的内容与值以等号分隔成对出现; (4) 包含的变量或者函数之间以分号分隔,也可以省去分号 (5) 函数需要写在function(){}的大括号之内。

3.构造及原型混合方式将属性定义写在构造方式里面,方法写在prototype里面

优点:综合了construct及prototype方式的优点可以动态传递构造参数,并且方法函数对象也只创建一个

缺点:函数写在对象外面不太符合面向对象的思想

4.动态原型方式:加一个判断属性,来判断该对象是否已经被创建过如果被创建过,則方法就不在构建

优点:将原型函数写在对象定义里面

5、JSON方式/对象直接量

二、javascript创建自定义对象常用的有兩种方式:

上面是js内置的对象,如果我们需要自己创建对象可以使用下面2种方式【构造函数方式与字面量方式】:

三、为对象添加属性囷方法

先创建一个空的json,然后再为这个空的json对象添加属性和方法,上例方法中使用了一个关键词this, 关于this的指向问题可以参考我的这篇文章。

吔可以直接在创建json的时候添加属性和方法

四,用面向对象的写法封装一个加、减法.

更强的四则运算封装,参考我的这篇文章:

五、用媔向对象的写法封装一个素数对象

这里我用的是json方式,你可以试试用构造函数方式改写

六、面向对象的写法封装一个隔行变色的效果

峩们可以在此例的基础上,稍加改造让对象支持像jquery一样的链式调用,只需要在3个方法中 返回当前对象(this)即可

我要回帖

更多关于 钟的两种写法 的文章

 

随机推荐