javascript 学习笔记(八)javascript对象javascript

来源:互联网 发布:http请求返回数据不全 编辑:程序博客网 时间:2024/06/05 19:04

昨天看了些有关javascript对象方面的文章,以下是自己的一些学习心得及体会,希望同大家共同讨论!

1、javascript中的内置对象

javascript中除了本身的内置对象,如以下我们所熟悉的对象:

array

date

math

string

regexp

……

各个对象都有自己的属性及方法,比如我们经常使用属性及方法

属性:stringobject.length; arrayobject.length;……

方法:stringobject.indexof(); stringobject.splite(); stringobject.substr(); arrayobject.concat(); arrayobject.push(); arrayobject.join();……

2、如何自定义对象,及添加属性和方法

a. 通过关键字new创建

var newobject = new object();//创建一个新类

newobject.name = "new object"; //添加一个name的属性

newobject.say = function() {//添加say()方法

alert(this.name);//output new object

}

对于以上的创建方法,我们可以利用json(javascript object notation)的方法简写为如下代码:

var newobject = {

name: "new object";

say: function () {

alert(this.name);

}

};

我们利用json的数据格式创建一个更为复杂的对象

var company = {

name: "tuanzz",

product: "groupon",

address: {province: "hubei", city: "wuhan"},

person:[

{name: "zhangchen",age: "23"},

{name: "luomi", age: "23"},

],

readme: function() {

alert("my name is "+this.person[0].name+" and "+this.person[0].age+" years old");

}

};

company.readme(); //output my name is zhangchen and 23 years old;

我们可以看到,用json的数据格式创建的对象,代码不仅看起来十分优雅。

json的形式就是用大括“{}”号包括起来的项目列表,每一个项目间并用逗号“,”分隔,而项目就是用冒号“:”分隔的属性名和属性值。这是典型的字典表示形式,也再次表明了 javascript里的对象就是字典结构。不管多么复杂的对象,都可以被一句json代码来创建并赋值。

b、通过构造函数来创建对象

function objectfun(name) {

this.name = name;

this.say = function() {

alert(this.name);

}

}

var newobject = new objectfun("zhangchen");

newobject.say(); //output zhangchen

首先新建一个objectfun()函数,其中定义了属性和方法,这里我们可以把objectfun看作一个类(在javascript中函数就是对象),然后通过new实例化出一个对象,newobject对象中同样也有了父类中属性和方法。

我们可以用以下代码来检测函数确实是对象:

//普通函数

function say(s) {

alert(s);

}

say("hi");

//给函数对象赋属性,函数就是对象

say.test = "it can work?";

alert(say.test); //output it can work?

如何理解以上创建对象的方法?我们看下面的代码:

function objectfun(name) {

this.name = name;

this.say = function() {

alert(this.name);

}

}

var newobject = new object(); //创建一个空对象

objectfun.call(newobject, "zhangchen"); //将newobject作为this参数调用objectfun函数

newobject.say("zhangchen");//output zhangchen

首先创建一个newobject对象,newobject作为this参数调用objectfun函数。讲了这么多,我们完全可以把objectfun作为构造函数来使用。

-------------------------------------------------------------------------------------------------------------------------------------------------

余下内容大家可参考李战写的悟透javascript


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 4g手机的下载速度很慢怎么办 为什么打开百度网盘的速度慢怎么办 百度网盘限制了我的宽带速度怎么办 联通信号很好但网速特别慢怎么办 苹果手机版本低下载不了软件怎么办 国内的手机要上推特和油管要怎么办 推特注册了卡在手机号怎么办 腾讯微信登录的账号密码忘了怎么办 打开手机浏览器自动跳到网页怎么办 游戏包解压后找不到启动的怎么办? 每次都要解压一次才能运行怎么办 误冲了王者荣耀点劵怎么办 机顶盒上开通的vip手机上怎么办 王者荣耀以前玩的区找不到了怎么办 电脑分辨率调高了游戏进不去怎么办 键盘语言更改后进不去系统怎么办 高尔夫旅行款 被锁在车内怎么办 在天猫买东西垫付的运费不退怎么办 天猫店一口价定价定低了怎么办 服务器开机账号改了密码忘了怎么办 小米儿童电话手表开不开机怎么办? 上海拍牌超过5次违章怎么办 拍拍贷不能更新还不了款怎么办 起诉网贷平台不知道地址怎么办 网贷不知道在哪个平台借的怎么办 车过户后出现问题车主不承认怎么办 卖了车买家一直不过户怎么办 我的车卖了但是买家不过户怎么办 如果买家拍了赠品但联系不上怎么办 淘宝产品处罚下架顾客退货怎么办 生源地贷款续贷密码忘了怎么办 助学贷款续贷密码忘了怎么办 京东上回收东西如果是坏的怎么办 58.同城找的工作被骗了怎么办 京东第三方买了二手机怎么办 手机无法显示百度视频的视频怎么办 如果微信被盗号朋友钱被骗怎么办 绑定银行卡的电话号码换了怎么办办 银行卡绑定的手机号空号了怎么办 微信提示绑定银行卡次数超限怎么办 手机卡太久没用被注销了怎么办