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对象的基础就已经告一段落了,欢迎大家指点

[置顶] js对象的更多相关文章

  1. [置顶] js中如何复制一个对象,如何获取所有属性和属性对应的值

    在js中如何复制一个对象,例如如下一个js对象. 如果知道这个对象的所有属性自然就可以重新new一个,然后对每个属性赋值,就可以做到,但如果不知道呢?如何创建一个内容相同 的对象呢? var obj= ...

  2. [置顶] js正则表达式的使用

    js中的正则表达式比起C#中的正则表达式要弱很多,但基本够用了 1定义正则表达式 2关于验证的三个这则表达式方法 3正则表达式式的转义字符 1定义正则表达式 在js中定义正则表达式很简单,有两种方式, ...

  3. [置顶] js模板方法的思路及实现

    在js中如何实现设计模式中的模板方法? 思路的产生必然要求熟悉js,如何实现?就很简单了,都知道在js中如果定义两个相同名称的方法,前一个方法就会被后一个方法覆盖掉,使用此特点就可以实现模板方法. 例 ...

  4. [置顶] js操作iframe兼容各种浏览器

    在做项目时,遇到了操作iframe的相关问题.业务很简单,其实就是在操作iframe内部某个窗体时,调用父窗体的一个函数.于是就写了两个很简单的htm页面用来测试,使用网上流行的方法在谷歌浏览器中始终 ...

  5. [置顶] js综合应用:表格的四则运算

    在做调查问卷的过程中,遇到一个表格的统计问题,算是需要些js方面的综合知识,所以记录下来. 在上次完成了基本的求和的基础上,添加了基本的加减乘除四则运算. 基本需求简化后如下: 对应的htm了为: & ...

  6. [置顶] js 实现 <input type="file" /> 文件上传

    在开发中,文件上传必不可少,<input type="file" /> 是常用的上传标签,但是它长得又丑.浏览的字样不能换,我们一般会用让,<input type ...

  7. [置顶] js 控制文章中字体的大小,mootools实现

    文中字体要12.14.16号中选择: <span class="zh">字号:<b class="change-font">12< ...

  8. [置顶] 步步辨析JS中的对象成员

    前提 首先我们应该明白创建一个JS对象的具体实例是实例化的过程,而实例化是通过new关键字实现的,这个对象是含有constructor的,一般的核心对象都会具有constructor以便创建其实例.因 ...

  9. js之滚动置顶效果

    0.js获取高度 ? 1 2 3 4 5 6 document.all   // 只有ie认识   document.body.clientHeight              // 文档的高,屏幕 ...

随机推荐

  1. Thinking In Web [原创作品]

    (转载请注明:http://zhutty.cnblogs.com, 交流请加群:164858883) 可能在大部分人来讲,前端就是可见的页面数据呈现正确就行.然而这样是不正确的,页面呈现是一部分,更多 ...

  2. javadoc简介

    Javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类.方法.成员等注释形成一个和源代码配套的API帮助文档.也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Java ...

  3. HDU 1874-畅通project续(最短路Dijkstra+优先队列)

    畅通project续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  4. Eclipse 4.2 + Tomcat 7.x + JDK 7 搭建Java Web开发环境

    1. 准备工具 Eclipse 4.2 (到官网下载:http://www.eclipse.org/downloads/  要下载Eclipse IDE for Java EE Developers ...

  5. 关于一个下载的源代码中的”*.vssscc“文件的问题

    今天下载了一份程序的源代码,老是提示我要连接源代码管理服务器,这个……你的账号密码我怎么知道,有木有.于是上网搜罗了一番找来了解决方案,在这里分享给可能出现同样问题的童鞋. 首先说明一下什么是vsss ...

  6. (转)jQuery Validation Plugin客户端表单证验插件

    jQuery Validation Plugin客户端表单验证插件 官方文档:http://jqueryvalidation.org/documentation/ 官方demo:http://jque ...

  7. (转)url重写

    使用URLRewriter.dll后,根本不需要使用任何代码,我之前做的项目就是用的做URL重写的,其实不是进化,其实表面上看是.html扩展名而已,当然你还可以用其他的任意扩展名下面是你的配置 &l ...

  8. Android material design support library -- CollapsingToolbarLayout简介

    本文是codetrick上material design support library教程的第三篇,主要讲的是CollapsingToolbarLayout的概念和应用方法. 原文链接:Materi ...

  9. 学习okhttp wiki--HTTPS

    HTTPS OkHttp尝试平衡两个相互竞争的要素: 连通性(Connectivity):连接到尽可能多的服务器.这包括运行最新版本 boringssl 的服务器和不太过时的老版本 OpenSSL 的 ...

  10. lvs+keepalived+nginx+tomcat

    # 拓扑如下所示 # 节点分布情况 LVS-dr-master eth0: 192.168.146.141 LVS-dr-slave eth0: 192.168.146.142 nginx1: eth ...