您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 楚雄分类信息网,免费分类信息发布

javascript类的定义方法有哪些

2024/3/29 22:53:05发布10次查看
方法有:1、构造函数法,语法“function cat(){}var cat1=new cat();}”;2、object.create()法,语法“var cat={};var cat1=object.create(cat);”。
本教程操作环境:windows7系统、javascript1.8.5版、dell g3电脑。
在面向对象编程中,类(class)是对象(object)的模板,定义了同一组对象(又称实例)共有的属性和方法。
javascript语言不支持类,但是可以用一些变通的方法,模拟出类。
一、构造函数法
这是经典方法,也是教科书必教的方法。它用构造函数模拟类,在其内部用this关键字指代实例对象。
function cat() {this.name = "大毛";}
生成实例的时候,使用new关键字。
var cat1 = new cat();alert(cat1.name); // 大毛
类的属性和方法,还可以定义在构造函数的prototype对象之上。
cat.prototype.makesound = function(){alert("喵喵喵");}
关于这种方法的详细介绍,请看我写的系列文章《javascript 面向对象编程》,这里就不多说了。它的主要缺点是,比较复杂,用到了this和prototype,编写和阅读都很费力。
二、object.create()法
为了解决"构造函数法"的缺点,更方便地生成对象,javascript的国际标准ecmascript第五版(目前通行的是第三版),提出了一个新的方法object.create()。
用这个方法,"类"就是一个对象,不是函数。
var cat = {name: "大毛",makesound: function(){ alert("喵喵喵"); }};
然后,直接用object.create()生成实例,不需要用到new。
var cat1 = object.create(cat);alert(cat1.name); // 大毛cat1.makesound(); // 喵喵喵
目前,各大浏览器的最新版本(包括ie9)都部署了这个方法。如果遇到老式浏览器,可以用下面的代码自行部署。
if (!object.create) {object.create = function (o) { function f() {}f.prototype = o;return new f();};}
这种方法比构造函数法简单,但是不能实现私有属性和私有方法,实例对象之间也不能共享数据,对类的模拟不够全面。
【推荐学习:javascript高级教程】
以上就是javascript类的定义方法有哪些的详细内容。
楚雄分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录