码迷,mamicode.com
首页 > Web开发 > 详细

JS学习第八天----对象

时间:2015-08-12 17:01:05      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:javascript

对象

JS中的所有事物都是对象:字符串,数值,数组,函数...正所谓万物皆对象.

JS,可以将对象分为”内部对象”,”宿主对象”和”自定义对象”三种.

 

1,内部对象

js中的内部对象包括ArrayBooleanDateFunctionGlobalMathNumberObjectRegExpString以及各种错误类对象,包括ErrorEvalErrorRangeErrorReferenceErrorSyntaxErrorTypeError

其中GlobalMath这两个对象又被称为内置对象,这两个对象在脚本程序初始化时被创建,不必实例化这两个对象。

2.宿主对象

宿主对象就是执行JS脚本的环境提供的对象。对于嵌入到网页中的JS来说,其宿主对象就是浏览器提供的对象,所以又称为浏览器对象,如IEFirefox等浏览器提供的对象。不同的浏览器提供的宿主对象可能不同,即使提供的对象相同,其实现方式也大相径庭!这会带来浏览器兼容问题,增加开发难度。

浏览器对象有很多,如WindowDocument等等。

 

3.自定义对象

顾名思义,就是开发人员自己定义的对象。JS允许使用自定义对象,使JS应用及功能得到扩充。

 

 

 

对象只是带有属性和方法的特殊数据类型.

 

 

访问对象的属性

属性是与对象相关的值.

访问对象属性的语法是:

objectName.propertyName

案例:

var message=”hello,world”;

var x=message.length

分析:这个例子使用了String对象的length属性来获得字符串的长度,,在以上代码之后后,x的值是11

 

 

访问对象的方法

方法是能够在对象执行的动作.

可以通过以下语句来调用方法:

objectName.methodName();

案例:

var message=”hello,world”;

var x=message.toUpperCase();

分析:在上述代码执行完毕之后,x的值将是:HELLO,WORLD.

 

 

 

创建JS对象

通过JS,能够定义并创建自己的对象.

创建新对象有两种不同的方法:

1.定义并创建对象哪的实例

2.使用函数来定义对象,然后创建新的对象实例

 

 

创建直接的实例:

person=new Object();

person.fristName=”乔布斯”;

pweson.lastName=”史蒂芬”;

person.age=”58”;

person.eyeColor=”blue”;

分析:这个案例创建了对象的新实例,并向其添加了四个属性.

 

替代语法(使用对象literals):

实例:

person={firstName:”乔布斯”,lastName:”史蒂芬”,age:”58”,eyeColor:”blue”};

 

 

 

使用对象构造器

案例:使用函数来构造对象

function person(firstname,lastname,age,eyecolor){this.firstname=firstname;this.lastname=lastname;this.age=age;this.eyecolor=eyecolor;}

创建JS对象实例

一旦你有了对象的构造器,就可以创建新的对象实例,就像这样:前提是上面使用函数来构造对象

var myFather=new person("Bill","Gates",56,"blue");var myMother=new person("Steve","Jobs",48,"green");

把属性添加到JS对象

你可以通过为对象复制,想已有对象添加新属性:

假设personObj已存在,您可以为其添加这些新属性:firstName,LastName,ageeyeColor:

person.firstname="Bill";person.lastname="Gates";person.age=56;person.eyecolor="blue"; x=person.firstname;

在以上代码执行后,x的值为Bill

 

把方法添加到JS对象

方法只不过是附加在对象上的函数

在构造器函数内部定义对象的方法:

function person(firstname,lastname,eye,eyecolor)

{

this.firstname=firstname;

this.lastname=lastname;

this.age=age;

this.eyecolor=eyecolor;

 

this.changeName=cchangeName;

function changeName(name)

{

this.lastname=name;

}

}

changeName()函数name的值赋值给personlastname属性.

你可以试试这样:

myMother.changeName(“Biller”);

 

 

 

JS

JS是面向对象的语言,JS不适用类.

JS,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样).

JS基于prototype,而不是语句类的.

 

 

JS中的for/in循环

JS中的for/in语句循环遍历对象的属性.

这里有一点需要说明:for/in循环中的代码将针对每个属性执行一次.

案例:循环遍历对象的属性

<!DOCTYPE html>

<html>

<body>

<p>点击下面的按钮,循环遍历对象 "person" 的属性。</p>

<button onclick="myFunction()">点击这里</button>

<p id="demo"></p>

 

<script>

function myFunction()

{

var x;

var txt="";

var person={fname:"Bill",lname:"Gates",age:56}; 

 

for (x in person)

{

txt=txt + person[x];

}

 

document.getElementById("demo").innerHTML=txt;

}

</script>

</body>

</html>

 

 

你可能觉得我写的有点少,不详细,没必要啥都记得,再说了,我就算写这点东西,你能真真的记住了吗?十鸟在林的故事应该听过吧

版权声明:本文为博主原创文章,未经博主允许不得转载。

JS学习第八天----对象

标签:javascript

原文地址:http://blog.csdn.net/shanyongxu/article/details/47444509

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!