javascript 学习笔记(八)javascript对象
更新时间:2011年04月12日 00:29:23 作者:
昨天看了些有关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
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
您可能感兴趣的文章:
- Javascript 入门基础学习
- JavaScript 学习笔记二 字符串拼接
- javascript 模式设计之工厂模式学习心得
- JavaScript 构造函数 面相对象学习必备知识
- 写给想学习Javascript的朋友一点学习经验小结
- javascript学习笔记(二) 鼠标经过时,改变div块的背景色的代码
- javascript 学习笔记(六)浏览器类型及版本信息检测代码
- javascript学习笔记(七)利用javascript来创建和存储cookie
- javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
- javascript的正则表达式学习资料复习
- JavaScript高级程序设计 学习笔记 js高级技巧
- JavaScript学习小结(一)——JavaScript入门基础
- 每天一篇javascript学习小结(Array数组)
- 每天一篇javascript学习小结(Boolean对象)
相关文章
在Javascript中 声明时用"var"与不用"var"的区别
Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的2013-04-04ASP小贴士/ASP Tips javascript tips可以当桌面
今天看到《ASP小贴士/ASP Tips》 我也去把JavaScript的tips 下下来了。 看看是A4的。 自己把他改成1024 * 768 刚好可以用来做桌面2009-12-12
最新评论