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 相关文章推荐
用jQuery扩展自写的 UI导航
Jan 13 Javascript
jQuery学习笔记[1] jQuery中的DOM操作
Dec 03 Javascript
javascript中的void运算符语法及使用介绍
Mar 10 Javascript
js密码强度检测
Jan 07 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
Jun 25 Javascript
JS给swf传参数的实现方法
Sep 13 Javascript
AngularJs $parse、$eval和$observe、$watch详解
Sep 21 Javascript
Angular.js中下拉框实现渲染html的方法
Jun 18 Javascript
angular2中Http请求原理与用法详解
Jan 11 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
Nov 02 Javascript
JS拖拽排序插件Sortable.js用法实例分析
Feb 20 Javascript
JavaScript实现单图片上传并预览功能
Sep 30 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
乱谈我对耳机、音箱的感受
2021/03/02 无线电
咖啡豆分级制度 咖啡豆等级分类 咖啡豆是按口感分类的吗?
2021/03/05 新手入门
PHPMailer邮件类利用smtp.163.com发送邮件方法
2008/09/11 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
护卫神php套件 php版本升级方法(php5.5.24)
2015/05/10 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
纯js实现背景图片切换效果代码
2010/11/14 Javascript
JavaScript中setAttribute用法介绍
2013/07/20 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
js获取元素的外链样式的简单实现方法
2016/06/06 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
2016/10/14 Javascript
BootStrap数据表格实例代码
2017/09/13 Javascript
vue.js实例对象+组件树的详细介绍
2017/10/20 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
python获取本机外网ip的方法
2015/04/15 Python
详解python之配置日志的几种方式
2017/05/22 Python
python全栈知识点总结
2019/07/01 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
Python多线程threading join和守护线程setDeamon原理详解
2020/03/18 Python
Python 如何定义匿名或内联函数
2020/08/01 Python
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
新奥尔良珠宝:Mignon Faget
2020/11/23 全球购物
外语专业毕业生个人的自荐信
2013/11/19 职场文书
音乐学专业求职信
2014/07/22 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
篮球赛新闻稿
2015/07/17 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
导游词之徐州云龙湖
2019/11/19 职场文书