一个简单的javascript类定义例子
<script>
//定义一个javascript类
function JsClass(privateParam/* */,publicParam){//构造函数
var priMember = privateParam; //私有变量
this.pubMember = publicParam; //公共变量
//定义私有方法
function priMethod(){
return "priMethod()";
}
//定义特权方法
//特权方法可以访问所有成员
this.privilegedMethod = function(){
var str = "这是特权方法,我调用了\n";
str += " 私有变量:" + priMember +"\n";
str += " 私有方法:" + priMethod() +"\n";
str += " 公共变量:" + this.pubMember +"\n";
str += " 公共方法:" + this.pubMethod();
return str;
}
}
//添加公共方法
//不能调用私有变量和方法
JsClass.prototype.pubMethod = function(){
return "pubMethod()";
}
//使用 JsClass的实例
JsObject = new JsClass("priMember","pubMember");
//alert(JsObject.pubMember);//弹出pubMember信息
//alert(JsObject.priMember);//弹出undefined信息
//alert(JsObject.pubMethod());//弹出pubMethod信息
//alert(JsObject.priMethod());//弹出"对象不支持此属性或方法"的错误
alert(JsObject.privilegedMethod());
</script>
相关推荐
-
JS类的定义与使用方法深入探索
本文实例分析了JS类的定义与使用方法.分享给大家供大家参考,具体如下: js可以定义自己的类 很有意思 <script type="text/javascript"> var Anim = function() { alert('nihao'); }; Anim.prototype.start = function() { alert('start'); }; Anim.prototype.stop = function() { alert('stop'); }; var
-
JS类中定义原型方法的两种实现的区别
我们知道,给JavaScript类添加原形(prototype)方法是很简单的.而且常用的有下面这两种方法,可是这两种方法在使用时有区别吗? JScript Class: function JSClass() { } Extends prototype method: JSClass.prototype.MethodA = function() { }; Or function = JSClass.prototype.MethodA() { }; 其实这两个原形定义方式可以简化一下来讨论,先把它
-
浅谈几种常用的JS类定义方法
// 方法1 对象直接量 var obj1 = { v1 : "", get_v1 : function() { return this.v1; }, set_v1 : function(v) { this.v1 = v; } }; // 方法2 定义函数对象 var Obj = function() { var v1 = ""; this.get_v1 = function() { return this.v1; }; this.set_v1 = function
-
JS中类或对象的定义说明
我们知道,JS是面向对象的.谈到面向对象,就不可避免的要涉及类的概念.一般像c#,java这些强类型语言都有固定的定义类的语法.而JS的不同之处在于它能使用各种方法实现自己的类和对象.一般的实现有以下几种方式: 1.工厂方式工厂方式是指创建一个返回特定对象类型的工厂函数,示例代码如下: 复制代码 代码如下: function createCar(sColor,iDoors,iMpg){ var oTempCar=new Object; oTempCar.color=sColor; o
-
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
其实通俗的讲类就是对象的模板,为了增强JS的OO特性,受mootoos框架启发我们可以使用一个JSON对象来描述这个对象的模板.在这个模板中我们可以模拟实现私有成员,受保护成员,静态成员. 这是一个在JS中模拟的类定义语法,代码中Class是一个自定义函数,它接受两个参数,第一个参数是类名.第二个参数是一个JSON用来一个对象的模板.在这个JSON对象中其中字段 "extend",,"initialize","static" 为一些预定义关键字,
-
JS类定义原型方法的两种实现的区别评论很多
我们知道,给JavaScript类添加原形(prototype)方法是很简单的.而且常用的有下面这两种方法,可是这两种方法在使用时有区别吗? JScript Class: 复制代码 代码如下: function JSClass() { } Extends prototype method: 复制代码 代码如下: JSClass.prototype.MethodA = function() { }; Or 复制代码 代码如下: function = JSCla
-
javascript 类定义的4种方法
复制代码 代码如下: /* 工厂方式--- 创建并返回特定类型的对象的 工厂函数 ( factory function ) */ function createCar(color,doors,mpg){ var tempCar = new Object; tempCar.color = color; tempCar.doors = doors; tempCar.mpg = mpg; tempCar.showCar = function(){ alert(this.color + " "
-
关于js类的定义
遇到的问题,首先是js对象的封装,js没有提供类的机制,唯一的内置类是function类,也就是说所有的函数都是function类的实例化对象.不过依靠这个唯一的类我们可以模拟定义一个新的类. 首先想到的,是直接用function生成定义完整的类: 复制代码 代码如下: function myClass(arg,...) { this.attributeName; this.functionName = function(){}; } 不过这样有一个问题,每当我new一个新的myClass实例的
-
js类定义函数时用prototype与不用的区别示例介绍
一直在使用js编写自以为是面向对象的方法,遇到一个问题,就是定义一个方法,如下: 复制代码 代码如下: function ListCommon2(first,second,third) { this.First=function () { alert("first do"+first); } } ListCommon2.do1=function(first) { // this.First(); alert("first do"+first); } ListComm
-
JavaScript定义类或函数的几种方式小结
提起面向对象我们就能想到类,对象,封装,继承,多态.在<javaScript高级程序设计>(人民邮电出版社,曹力.张欣译.英文名字是:Professional JavaScript for Web Developers)这本书中描述的还算比较详细.我们看看JavaScript中定义类的各种方法. 1.工厂方式 javaScript中创建自己的类和对象,我们应该是必须掌握的,我们都知道javaScript中对象的属性可以在对象创建后动态定义,比如下面的代码: 复制代码 代码如下: <scr
随机推荐
- 服务器应用自动重新启动IIS批处理 原创
- extjs表格文本启用选择复制功能具体实现
- linux获取进程执行时间方法示例
- windows2008系统中rsync计划任务返回0x1问题处理
- react中的ajax封装实例详解
- php动态函数调用方法
- php获取mysql版本的几种方法小结
- android开发教程之textview内容超出屏幕宽度显示省略号
- python使用xlrd实现检索excel中某列含有指定字符串记录的方法
- 如何在UpdatePanel中调用JS客户端脚本
- Linux 下读XML 的类详解及实现代码
- Sqlserver事务备份和还原的实例代码(必看)
- Linux SSH 安全策略 更改 SSH 端口
- 用javascript获取textarea中的光标位置
- java堆排序原理及算法实现
- DeDecms中实现更漂亮整齐的缩略图的实现代码
- jquery+thinkphp实现跨域抓取数据的方法
- PHP 递归效率分析
- Java+opencv3.2.0实现hough圆检测功能
- PHP面向对象程序设计之接口的继承定义与用法详解