javascript 面向对象的JavaScript类


Posted in Javascript onMay 04, 2010

在上一节面 JavaScript 面向对象之命名空间 中说了怎么定义JavaScript命名空间,这一节来说下紧接着的一个概念——类。虽然JavaScript中没有class关键字,但作为开发人员我们一定要有这个思想。在C#中类可以分为实例类和静态类,JavaScript亦然。

一,定义实例类: 在上节中我定义了一个cnblogs.news的命名空间,现在就在此命名空间下定义一个名为Article类:

cnblogs.news.Article=function(){ 
var _this=this; 
this.title=null; 
this.content=null; 
this.show=function(){ 
document.write("<h1>"+_this.title+"</h1>"); 
document.write("<p>"+_this.content+"</p>"); 
} 
}

创建对象就和C#一样:
// 实例化一个对象 
var article =new cnblogs.news.Article(); 
// 给对象的属性赋值 
article.title="这是文章标题"; 
article.content="这是文章内容"; 
// 调用对象的方法 
article.show();

二,定义静态类:所谓静态类就是直接调用类的成员,换言之,类的成员是属于类的,不属于对象。同样以Article为例,代码如下:
cnblogs.news.Article={ 
title:"这是文章标题", 
content:"这是文章内容", 
show:function(){ 
document.write("<h1>"+cnblogs.news.Article.title+"</h1>"); 
document.write("<p>"+cnblogs.news.Article.content+"</p>"); 
} 
};

调用方式也和C#类似:
cnblogs.news.Article.show();
到这里或许你已经发现了,所谓JavaScript静态类其实就是一个json对象,恭喜,答对了! ^_^
三,如何选择:
那么何时选择实例类,何时选择静态类呢,就个人经验而言(说得不对敬请斧正刀正,怎么正都可以^_^),开发一些对dom的依赖比较弱,而要求复用型很强的程序,如工具类,插件类,结构,使用静态类;反之如果程序对dom依赖很强,经常有变量传来传去,或者对类的结构造成变化,这时选用实例类。个人比较推崇第一种方案,其代码风格较之第二种更像C#,我想写惯了C#的同学也会这样觉得的,^_^。
作者: 祥叔
Javascript 相关文章推荐
Javascript 入门基础学习
Mar 10 Javascript
javascript 解决表单仍然提交即使监听处理函数返回false
Mar 14 Javascript
解决jQuery插件tipswindown与hintbox冲突
Nov 05 Javascript
判断文件是否正在被使用的JS代码
Dec 21 Javascript
javascript给span标签赋值的方法
Nov 26 Javascript
JS递归遍历对象获得Value值方法技巧
Jun 14 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
Feb 15 Javascript
基于javascript 显式转换与隐式转换(详解)
Dec 15 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
Sep 17 Javascript
微信小程序全选多选效果实现代码解析
Jan 21 Javascript
vue npm install 安装某个指定的版本操作
Aug 11 Javascript
antd配置config-overrides.js文件的操作
Oct 31 Javascript
JavaScript 面向对象之命名空间
May 04 #Javascript
10个实用的脚本代码工具
May 04 #Javascript
利用location.hash实现跨域iframe自适应
May 04 #Javascript
Array.prototype 的泛型应用分析
Apr 30 #Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
Apr 30 #Javascript
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
Apr 29 #Javascript
匹配任意字符的正则表达式写法
Apr 29 #Javascript
You might like
通过ODBC连接的SQL SERVER实例
2006/10/09 PHP
PHP 中文乱码解决办法总结分析
2009/07/30 PHP
php 对输入信息的进行安全过滤的函数代码
2012/06/29 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
用cssText批量修改样式
2009/08/29 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
jQuery插件开发的两种方法及$.fn.extend的详解
2014/01/16 Javascript
深入理解JavaScript系列(45):代码复用模式(避免篇)详解
2015/03/04 Javascript
一道JS前端闭包面试题解析
2015/12/25 Javascript
javascript实现查找数组中最大值方法汇总
2016/02/13 Javascript
浅析JavaScript中的对象类型Object
2016/05/26 Javascript
EditPlus中的正则表达式 实战(4)
2016/12/15 Javascript
JS继承与闭包及JS实现继承的三种方式
2017/10/15 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
python控制台中实现进度条功能
2015/11/10 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
2018/01/22 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
2020/02/26 Python
基于python图像处理API的使用示例
2020/04/03 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
django中嵌套的try-except实例
2020/05/21 Python
会议接待欢迎词
2014/01/12 职场文书
西北政法大学自主招生自荐信
2014/01/29 职场文书
开学典礼主持词
2014/03/19 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
单位介绍信格式范文
2015/05/04 职场文书
小学语文国培研修日志
2015/11/13 职场文书
win7配置本地ftp服务器的图文教程
2022/08/05 Servers