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 相关文章推荐
javascript让setInteval里的函数参数中的this指向特定的对象
Jan 31 Javascript
高性能web开发 如何加载JS,JS应该放在什么位置?
May 14 Javascript
jQuery源码分析之Event事件分析
Jun 07 Javascript
原生js事件的添加和删除的封装
Jul 01 Javascript
JS判断字符串变量是否含有某个字串的实现方法
Jun 03 Javascript
JavaScript表单焦点自动切换代码
Jul 24 Javascript
JavaScript定义函数_动力节点Java学院整理
Jun 27 Javascript
Node.js  REPL (交互式解释器)实例详解
Aug 06 Javascript
总结js函数相关知识点
Feb 27 Javascript
axios对请求各种异常情况处理的封装方法
Sep 25 Javascript
vue打开其他项目页面并传入数据详解
Nov 25 Vue.js
html实现随机点名器的示例代码
Apr 02 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
什么是短波收听SWL
2021/03/01 无线电
PHP输出控制功能在简繁体转换中的应用
2006/10/09 PHP
php Memcache 中实现消息队列
2009/11/24 PHP
php防攻击代码升级版
2010/12/29 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
2017/06/27 PHP
PHP的PDO事务与自动提交
2019/01/24 PHP
Laravel框架实现抢红包功能示例
2019/10/31 PHP
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
老生常谈jacascript DOM节点获取
2017/04/17 Javascript
jQuery实现动态删除LI的方法
2017/05/30 jQuery
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
Mongoose中document与object的区别示例详解
2017/09/18 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
详解python中的json的基本使用方法
2016/12/21 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
Python爬虫:通过关键字爬取百度图片
2017/02/17 Python
Python3.x对JSON的一些操作示例
2017/09/01 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
新闻发布会主持词
2014/03/28 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书
2014年学生党支部工作总结
2014/12/20 职场文书
安阳殷墟导游词
2015/02/10 职场文书
歌咏比赛口号大全
2015/12/25 职场文书
三严三实·严以律己心得体会
2016/01/13 职场文书
餐厅开业活动方案
2019/07/08 职场文书