JavaScript对象封装的简单实现方法(3种方法)


Posted in Javascript onJanuary 03, 2017

本文实例讲述了JavaScript对象封装的简单实现方法。分享给大家供大家参考,具体如下:

Javascript在HTML中变得越来越强大,富客户端,HTML5中的WebGL等。但是我们书写Javascript的时候往往很随意,使用对象的封装是极好的。这里介绍Javascipt三种创建对象的方法。

1. 使用关键字new创建对象

function Person(name, age) {
 this.name = name;
 this.age = age;
}
var p = new Person();  // 也可填充初始化属性,如new Person("lingceng", 22)

2. 使用Object直接创建对象

可以看出,这种方法扩展很方便。

var obj = new Object(); // 这里也可写成 var = {};
obj.name = "lingceng";
obj.age = 22;

3. 使用JSON创建(对象字面量的说法更准确,但JSON更好理解)

从Javascript1.2开始,创建对象有了更快捷的方式。

var p = {
 name: "lingceng", // "name":"lingceng这样加引号解析方式相同
 gender: "male"
};

实践方式

结合构造函数和原型模式创建对象的方式很适合实践。

function Person(name,age)
{
  // 实例属性
  // 实例时多份拷贝
  this.name=name;
  this.age=age;
}
Person.prototype={
  // 因为原型被替换,所以需要恢复construtor的默认指向
  constructor: Person,
  showName:function(){
    alert("ShowName in prototype:"+this.name);
  },
  showAge:function(){
    alert(this.age);
  }
}
var p = new Person("lingceng", 22);
p.showAge(); // 22

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

Javascript 相关文章推荐
测试JavaScript字符串处理性能的代码
Dec 07 Javascript
javascript判断用户浏览器插件安装情况的代码
Jan 01 Javascript
jquery实现的鼠标拖动排序Li或Table
May 04 Javascript
七个很有意思的PHP函数
May 12 Javascript
基于JavaScript实现动态添加删除表格的行
Feb 01 Javascript
Angular使用ng-messages与PHP进行表单数据验证
Dec 28 Javascript
AngularJs表单校验功能实例代码
Feb 09 Javascript
微信小程序日期时间选择器使用方法
Feb 01 Javascript
vue axios请求拦截实例代码
Mar 29 Javascript
详解Vue.js中引入图片路径的几种方式
Jun 17 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
Mar 06 Javascript
js实现QQ邮箱邮件拖拽删除功能
Aug 27 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
Jan 03 #Javascript
vue.js将unix时间戳转换为自定义时间格式
Jan 03 #Javascript
使用Angular缓存父页面数据的方法
Jan 03 #Javascript
JS实现简单的二元方程计算器功能示例
Jan 03 #Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
Jan 03 #Javascript
javascript使用递归算法求两个数字组合功能示例
Jan 03 #Javascript
jQuery仿写百度百科的目录树
Jan 03 #Javascript
You might like
在任意字符集下正常显示网页的方法一
2007/04/01 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
2012/01/27 PHP
使用PHP获取当前url路径的函数以及服务器变量
2013/06/29 PHP
Yii框架组件和事件行为管理详解
2016/05/20 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
2015/03/06 Javascript
js实现带按钮的上下滚动效果
2015/05/12 Javascript
javascript最基本的函数汇总
2015/06/25 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
zTree树形菜单交互选项卡效果的实现方法
2017/12/25 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
详解vue 数组和对象渲染问题
2018/09/21 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
2020/02/27 Python
关于keras中keras.layers.merge的用法说明
2020/05/23 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
python re的findall和finditer的区别详解
2020/11/15 Python
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
八年级英语教学反思
2014/01/09 职场文书
事业单位分类改革实施方案
2014/03/21 职场文书
资助贫困学生倡议书
2014/05/16 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
2016教师六五普法学习心得体会
2016/01/21 职场文书
Python图片验证码降噪和8邻域降噪
2021/08/30 Python