作家
登录

Javascript类定义语法,私有成员、受保护成员、静态成员等介绍

作者: 来源:www.28hudong.com 2013-03-30 00:37:25 阅读 我要评论

其实通俗的讲类就是对象的模板,为了增强JS的OO特性,受mootoos框架启发我们可以使用一个JSON对象来描述这个对象的模板。在这个模板中我们可以模拟实现私有成员,受保护成员,静态成员。 这是一个在JS中模拟的类定义语法,代码中Class是一个自定义函数,它接受两个参数,第一个参数是类名、第二个参数是一个JSON用来一个对象的模板。在这个JSON对象中其中字段 "extend",,"initialize","static" 为一些预定义关键字,所表示的意义与基于类的传统OO语言相似。字段accessabe用来描述一个对象成员的可访问性,取值为("private","protected","public")在Class函数中会对这些关键字进行特殊处理,使其所修饰的成员具有相应的访问权限。 复制代码 代码如下: Class("Person" ,{ //继承 extend: Animal, //构造函数 initialize:function(name,sex){ this.name = name; this.sex = sex; Person.count++; }, //静态成员 static:{ count: { accessabe:"private", value: "" } }, //实例成员 age: {//私有属性成员 accessabe:"private", value:0 }, //公用属性 name: { accessabe:"public", value:"" }, sex:{ accessabe:"public", value: "" }, //方法 sleep: {//受保护方法 accessabe:"protected", value: function(){ } }, say: {//公用方法 accessabe:"public", value: function(){ retun (this.age-1) } } }); //调用 var xiaom = new Person("小明","男"); xiaom.age //私有属性不能访问 xiaom.sleep() //受保护方法不能访问 xiaom.say() //公用方法可以访问

  推荐阅读

  JS获取整个页面文档的实现代码

唯一需要注意的地方: innerText与textContent,显示页面的时候不能用innerHTML,否则会被解析。innerText与textContent是在除FF之外的浏览器与FF之间的差异。 复制代码 代码如下: var innerText = document.body.>>>详细阅读


本文标题:Javascript类定义语法,私有成员、受保护成员、静态成员等介绍

地址:http://www.17bianji.com/kaifa2/JS/23831.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)