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技术-屏蔽类
Aug 15 Javascript
在Javascript中定义对象类别
Dec 22 Javascript
js控制不同的时间段显示不同的css样式的实例代码
Nov 04 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
Sep 15 Javascript
jQuery实现图片轮播特效代码分享
Sep 15 Javascript
jQuery代码实现表格中点击相应行变色功能
May 09 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
May 17 Javascript
微信小程序使用navigateTo数据传递的实例
Sep 26 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
Aug 10 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
Jul 03 Javascript
Node使用Nodemailer发送邮件的方法实现
Feb 24 Javascript
通过滑动翻页效果实现和移动端click事件问题
Jan 26 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
Php Cookie的一个使用注意点
2008/11/08 PHP
php 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
php urlencode()与urldecode()函数字符编码原理详解
2011/12/06 PHP
Laravel 4 初级教程之安装及入门
2014/10/30 PHP
php使用ffmpeg获取视频信息并截图的实现方法
2016/05/03 PHP
MooTools 1.2介绍
2009/09/14 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
2011/12/11 Javascript
关于jQuery UI 使用心得及技巧
2012/10/10 Javascript
关于JavaScript中string 的replace
2013/04/12 Javascript
JQuery节点元素属性操作方法
2015/06/11 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
深入理解javascript的getTime()方法
2017/02/16 Javascript
Vue2组件tree实现无限级树形菜单
2017/03/29 Javascript
ES6模块化的import和export用法方法总结
2017/08/08 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
JQuery Ajax动态加载Table数据的实例讲解
2018/08/09 jQuery
js canvas实现星空连线背景特效
2019/11/01 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
Python字典数据对象拆分的简单实现方法
2017/12/05 Python
Python3多线程爬虫实例讲解代码
2018/01/05 Python
浅析Python函数式编程
2018/10/06 Python
python实现三次样条插值
2018/12/17 Python
python颜色随机生成器的实例代码
2020/01/10 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
Vans荷兰官方网站:美国南加州的原创极限运动潮牌
2018/01/23 全球购物
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
分家协议书
2014/04/21 职场文书
出差报告格式模板
2014/11/06 职场文书
爱国主义影片观后感
2015/06/18 职场文书
关于教师节的广播稿
2015/08/19 职场文书
2016七夕情人节感言
2015/12/09 职场文书
Python3 类型标注支持操作
2021/06/02 Python