javascript面向对象创建对象的方式小结


Posted in Javascript onJuly 29, 2019

本文实例讲述了javascript面向对象创建对象的方式。分享给大家供大家参考,具体如下:

方式一:通过内置Object对象的方式创建 然后通过点语法,动态给对象创建属性,方法

var o1 = new Object();
o1.name = 'Tom';
o1.sing = function() {
 console.log('I am singing');
}

方式二:通过字面量json形式创建对象

var o2 = {
 "name":"jackson",
 "age":"10",
 "say":function(){
  console.log("say hi");
 };
};

方式三:通过构造函数创建

var o3 = function() {
 this.name = "Lucy",
 this.age = "10",
 this.say = function() {
  console.log("say hello");
 }
}

方式四:通过原型创建

var o4 = function() {}
o4.prototype = {
 "name":"Taylor",
 "age":10,
 "say":function(){
  console.log("say h1");
 }
}

方式五:通过原型和构造函数混合的形式创建(推荐使用这种,原因:尽量将方法定义为原型方法,原型方法避免了每次调用构造函数时对属性或方法的构造,节省空间,创建对象快)

var o5 = function() {
 this.name = 'James';
 this.age = 10;
}
o5.prototype = {
 "say":function() {
   console.log("say hi");
 }
}

方式六:拷贝模式创建对象

// 先要有一个拷贝模块
function extend(target,source){
 for(var k in source){
  target[k] = source[k];
 }
 return target;
};
var o6 = {
 "name":"o6",
 "age":10
}
var o7 = {
 "say":function() {
  console.log('say hi');
 }
}
// o6拷贝o7的方法,然后构建成一个新的对象
var o8 = extend(o6,o7);
o8.say(); // say hi

方式七:通过第三方库来创建对象

有 base2.js  和 simplejavascriptinheritance.js 来实现, 网上有资料。

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
通过ifame指向的页面高度调整iframe的高度
Oct 05 Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
Mar 16 Javascript
JS获取html对象的几种方式介绍
Dec 05 Javascript
JS在可编辑的div中的光标位置插入内容的方法
Nov 20 Javascript
jQuery获取页面元素绝对与相对位置的方法
Jun 10 Javascript
React实现双向绑定示例代码
Sep 19 Javascript
微信开发 微信授权详解
Oct 21 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
Nov 03 Javascript
深入理解vue-loader如何使用
Jun 06 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
Aug 27 Javascript
Jquery异步上传文件代码实例
Nov 13 jQuery
ant design的table组件实现全选功能以及自定义分页
Nov 17 Javascript
jquery.pager.js实现分页效果
Jul 29 #jQuery
vue-router跳转时打开新页面的两种方法
Jul 29 #Javascript
JS实现移动端点击按钮复制文本内容
Jul 28 #Javascript
微信小程序文字显示换行问题
Jul 28 #Javascript
vue router 跳转时打开新页面的示例方法
Jul 28 #Javascript
pageGroup.js实现分页功能
Jul 27 #Javascript
laypage+SpringMVC实现后端分页
Jul 27 #Javascript
You might like
PHP读取MySQL数据代码
2008/06/05 PHP
php数据库抽象层 PDO
2011/05/07 PHP
PHP中防止直接访问或查看或下载config.php文件的方法
2012/07/07 PHP
php获取mysql字段名称和其它信息的例子
2014/04/14 PHP
php启用sphinx全文搜索的实现方法
2014/12/24 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
Yii2.0框架behaviors方法使用实例分析
2019/09/30 PHP
分享一个自己动手写的jQuery分页插件
2014/08/28 Javascript
浅谈jQuery中对象遍历.eq().first().last().slice()方法
2014/11/26 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
2016/01/08 Javascript
javascript事件模型介绍
2016/05/31 Javascript
解析js如何获取css样式
2016/12/11 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
pyhton列表转换为数组的实例
2018/04/04 Python
利用Python写一个爬妹子的爬虫
2018/06/08 Python
利用pandas读取中文数据集的方法
2018/07/25 Python
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
python简单区块链模拟详解
2019/07/03 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
热能动力工程毕业生自荐信
2013/11/07 职场文书
2014年社区庆元旦活动方案
2014/03/08 职场文书
求职者怎样写自荐信
2014/04/13 职场文书
小学优秀班干部事迹材料
2014/05/25 职场文书
2014年安全生产工作总结
2014/11/13 职场文书
2014年酒店年度工作总结
2014/12/10 职场文书
公司介绍信范文
2015/01/31 职场文书
陕西导游词
2015/02/04 职场文书
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电
优化Mysql查询的示例
2022/04/26 MySQL