JavaScript中类与对象的介绍

1、JavaScript中的类

每一个JS的函数都默认的是一个类,由于JS语言是动态类型的语言,所以它的对象允许动态的添加属性、添加方法。

例如:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>类的功能</title>
<script type="text/javascript">
  function Person(name,age){
 /*
 把函数当成类使用时,函数里面的变量可分为:
 类变量:使用方法名.变量
实例变量:this.变量
局部变量:没有修饰符的变量就是局部变量
 */
 //实例变量
 this.name=name;
 this.age=age;
 //类变量
 Person.eyeNum=2;
 //类的函数
 this.info=function(){
alert("我的信息是:"+this.name+"-->"+this.age);
 };
}
var p=new Person("孙悟空美女",50);
alert(p.name+"-->"+p.age);
alert(Person.eyeNum);
p.info();
</script>
</head>
<body>
</body>
</html>

2、JS中类的继承

1、JS中类的继承使用的关键字就是prototype

2、JS中子类扩充了父类,但是子类和父类的方法名字是一样的

3、可以使用JS的继承,为系统类添加新的自己创建的函数

例如:

<script type="text/javascript">

  function Person(name ,age){

  this.name=name;

   this.age=age;

  }

Person.prototype.info=function(){

 alert("基本信息是:"+this.name+"  "+this.age);

}

Person.prototype.information=function(){

 alert("基本信息是:"+this.name+"  "+this.age);

}

</script>

动态的为Person类扩展了2个方法,一个是info(),另一个是information()

var p=new Person("ada",100);

p.info();

p.information();

另外一个例子就是扩展系统类的功能:

扩展Array类的

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>继承系统类</title>
<script type="text/javascript" src="myprototype.js">
</script>
</head>
<body>
<script type="text/javascript">
var attr=[2,3,4];
alert(attr);
alert(attr.length);
attr.each();
var newArray=attr.map(function(index,ele){
return ele*ele*ele;
});
alert(newArray);
alert("=="+"     aaa    ".trim()+"----");
</script>
</body>
</html>

myprototype.js

Array.prototype.each=function(){
for(var i=0,len=this.length;i<len;i++){
alert(this[i]);
}
}


Array.prototype.map=function(fn){
var array=new Array();
for(var i=0,len=this.length;i<len;i++){
array[i]=fn.call(this,i,this[i]);
}
return array;
}

其中Array是JS自带的对象,我们扩展Array类的方法。当我们函数的参数也是函数的时候,加大了

函数的灵活性。是程序更加的容易扩展

3、JS中创建对象的几种方式:

(1)直接创建对象 var p =new Person();

( 2 ) var obj=new Object(); 因为所有的类都只继承Object类

我们可以对obj这个对象进行动态的添加属性和方法

例如:

obj.name="zhangsan";

obj.age=100;

obj.info=function(){

 alert(this.age+"  "+this.name);

};

Object.prototype.info=function(){

 alert(this.age+"  "+this.name);

}

(3)使用json的语法进行创建

4、如何判断JS中二个对象是否相等?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值