js对象

js中,一切事物都是对象。对象是一切的基础。

 

而具体到某一个对象时。

对象则是包含一组变量和函数的集合实例

 

我们先来中体会下je对象的全局。

 


 

接下来就具体揭开这个对象的面纱吧

 

ja对象分类


  • Function对象

Function实例

构造函数function

  • Object对象

创建静态对象


两者区别


Function·对象,具有调用功能

(可当做构造函数,添加参数),

1通过new关键字实例化,构造函数function,必须通过

 function实例,如alert()

2 Object对象,具有固定功能,不能调用()

 

对象继承


js中对象是基于原型的(prototype)。原型只存在与function中,所以一个原型就是一个对象,也是一个属性包


对象具有的属性:


Caller:表示调用正在执行的函数

prototype可以用来为对象添加新的属性和方法

arguments:表示函数参数的数组


 创建对象


所有的内置对象都是可以通过New关键字或简单语法来创建对象的.如:

Var Obj=New Object() ;
或等于 var Obj={};
Var  arry=new Array[];或
Var arry=[ ];
 
 

构造函数


每个对象都是以构造函数为起点的。function是构造函数的起点,创建构造函数与上述创建对象Function类似


如:
Var  myfunction=new function('a',  '/*代码*/');
 
 function myfunction('a',  '/*代码*/');

两种都可以,建议第二种方式优先。


添加静态方法:

静态方法充实只存在于对象的某一个具体的实例中,而不存在于构造函数中。更直观的是对存在于Object对象中。

实例代码:

 

Var myObject=new Object();
       //添加属性name属性
      myObject.name='h';
       //添加一个方法
     myObject.alertName=function(){
     Alert(this.name);
}
       //执行添加的方法
     myObject.alertName();
 

添加公有成员


能够跟随对象实例化的成员称之为公有成员,添加公有成员需要修改函数的原型,即对象的prototype属性。


特点:

公有方法可以随构造函数而被继承下去。使用点操作符号添加方法。


实例代码:
Function my(message)
{
	Alert(message);
	This.message=message;
}
//添加共有方法
My.prototype.name=function(string){
	This.message+=' '+string;
	}
//添加共有属性
My.prototype.id='id';
//实例化
Varmyfunction=New my();
//调用共有方法
Myfunction.name();

 

注意:你不能直接在my()函数中调用name方法,必须是在实例中调用该方法;


私有成员


是在构造函数中定义的变量和函数

 function my(){
	//私有属性
	Var myOwner='id';
	my.alertName=function(){
	Alert(this.name); 
}


特权成员


 是能够被公开访问的,而且还能访问私有成员。该方法是在构造函数的作用域中使用this关键字定义的方法:

Function myname(message)
{
    This.mymessage=message;
    Var myOwner=this;
    Var lastname='id';
 
    //特权方法
     This.appendTomessage=function(string){
 
     This.mymessage+=lastname+string;
      Alert(mymessage);
     }
}


对象字面量:


是一种语法规则,是创建一个带有共有方法的构造函数的语法;

使用的是点标识符创建对象和成员。

实例代码

 如我们刚才创建的私有成员,一般方法创建为

function my(){
//私有属性
Var myOwner='id';
	my.alertName=function(){
	Alert(this.name); 
}








对象字面量方法:

Function my{
myOwner:'id',
alertName:function(){
Alert(this.name)
 
}
}


注意: 最后是没有逗号的。


小结:


以上是对象的基本描述

在jis中对象分为


function类型(用与创建构造函数,共有成员,私有成员,以及特权成员)

Object类型,用于创建静态成员

共同点

:都可以创建对象字面量


     不同点:

Object具有固定功能,不能想function那样调用()

Function可当做构造函数,添加参数,进行调用。


到这里js对象的基础就已经告一段落了,欢迎大家指点


  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值