JavaScript设计者之所以把它称“基于对象”而不是面向对象的语言,是因为JavaScript不是纯面向对象的语言,它没有提供面向对象语言的许多功能。虽然如此,但是JavaScript还是提供了几个用于操作对象的语句、关键字及运算符。
(1)for…in语句
格式如下:
for(对象属性名 in 已知对象名)
说明:
√ 该语句的功能是用于对已知对象的所有属性进行操作的控制循环。它是将一个已知对象的所有属性反赋值给一个变量;而不是使用计数器来实现的。
√ 该语句的优点就是无需知道对象中属性的个数即可进行操作。
例:下列函数是显示数组中的内容:
function showData(object){
for(var i=0;i<30;i++){
document.write(object[i]);
}}
该函数是通过数组下标顺序值来访问每个对象的属性,使用这种方式首先必须知道数组的下标值,否则若超出范围,则就会发生错误。而使用for…in语句,则根本不需要知道对象属性的个数,见下:
function showData(object){
for(var prop in object){
document.write(object[prop]);
}}
使用该函数时,在循环体中,for自动将对象的属性取出来,直到最后一个为止。
(2)with语句
使用该语句的意思是:在该语句体内,任何对变量的引用被认为是这个对象的属性,以节省一些代码。
with (object){…}
所有在with语句后的花括号中的语句,都是在后面object对象的作用域内。
(3)this关键字
this是对当前对象的引用,在JavaScript中由于对象的引用是多层次、多方面的,往往一个对象需要引用另外一个对象,而另一个对象有可能又要引用另一个对象,这样有可能造成混乱,最后自己也不知道现在引用的哪一个对象,因此JavaScript提供了一个用于指定当前对象的语句this。
(4)new运算符
虽然在JavaScript中对象的功能已经是非常强大的了。但更强大的是设计人员可以按照需求来创建自己的对象,以满足某一特定的要求。使用new运算符可以创建一个新的对象。其创建对象使用如下格式:
newObject=new Object(parameters table);
其中 newObject 是创建的新对象;Object是已经存在的对象:parameters tables 是参数表;new是JavaScript中的命令语句。
如创建一个日期新对象
newDate=new Date();
birthday=new Date(December 12.1998);
之后就可使用newDate、birthday作为一个新的日期了。
1.对象属性的引用(www.xing528.com)
对象属性的引用可由下列三种方式之一实现;
(1)使用点(.)运算符
university.Name="云南省";
university.City="昆明市";
其中university是一个已经存在的对象,Name、City是它的两个属性,并通过操作对其赋值。
(2)通过对象的下标实现引用
university[0]= "云南省";
university[1]= "昆明市";
通过数组形式访问属性,可以使用循环操作获取其值。
function showuniversity (object)
for(var j=0;j<2;j++)
document.write(object[j]);
若采用for…in则可以不知其属性的个数后就可以实现:
function showmy(object)
for(var prop in this)
document.write(this[prop]);
(3)通过字符串的形式实现
university["Name"]="云南省";
university["City"]="昆明市";
2.对象方法的引用
在JavaScript中对象方法的引用是非常简单的。
格式如下:
objectName.methods()
methods()方法实质上是一个函数。如引用university对象中的showmy()方法,则可使用:
document.write(university.showmy());
如引用Math内部对象中cos()的方法则可以使用如下语句:
with(Math){
document.write(cos(35));
document.write(cos(80));
}
若不使用with关键词,则cos和sin前要加Math。如:document.write(Math.cos(35));
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。