javascript对象的概念,js面向对象怎么理解
本教程运行环境:windows7系统,javascript1.8.5版本1.8.5,戴尔G3电脑。
1.1什么是对象?
对象就是事物。在现实世界中,一个球、一张桌子和一辆汽车都是物体。
物体是可以被描述的东西,我们可以用特定的方式影响和操纵它。
在JS或面向对象编程语言中,对象是一系列属性和方法的组合。
属性包含属性名和属性值,属性值可以是任何类型的数据或函数,在这种情况下,函数也称为方法。
在JS中,你遇到的几乎所有东西都是对象,所以我们来了解一下对象的细节。
1.2对象的特征?
对象是有属性的,也就是对象的特性,一个对象的属性可以通过点符号来访问。
object name . property name;
如果把一个物体比作现实中的一个球,那么这个球就是一个有属性、有颜色、有大小的物体。这些可以这样表达:
var ball=new Object();
ball . color=" red ;
ball.size=12还有对象的方法,用于定义对象的行为。
比如这个球可能有一个滚动的方法来计算它能滚多远,有一个弹跳的方法来计算它能跳多高。
可以这样表达:
ball.roll=function() {
返回this.size * laps
}1.3访问对象的属性
如前所述,我们可以通过点符号访问对象的属性,但如果是这样,我们还能通过点符号访问对象的属性吗:
var ball=new Object();
ball . color=" red ;
ball.size=12
var spec=" color
ball.spec?假设有一个变量spec,我们需要通过它来访问对象属性。
但是如果使用点符号,那么你将访问ball的spec属性,然后返回一个undefined,这意味着spec被直接视为属性而不是变量。
如果想得到一个变量的值作为一个对象的属性,应该怎么做?
您可以使用方括号来标记访问权限,这是由属性名称动态确定的,因此您可以通过存储在变量中的字符串来访问属性:
ball[spec];//red1.4枚举对象的属性
此外,我们可以通过for in循环语句枚举对象的所有属性:
var ball={color: "red ",尺寸:12,边框:2 };
for(球内变量道具){
console.log("ball。"prop "=" obj[prop]);
}
//ball.color=red
//ball.size=12
//ball.border=2
//如果不想显示继承的属性,可以使用hasOwnProperty函数再次筛选。
var bar={a: 1,b: 2,c:3 };
函数Foo() {
this.color= red
}
Foo.prototype=bar
var obj=new Foo();
for(对象中的变量属性){
if (obj.hasOwnProperty(prop)) {
console . log(prop);
}
}也可以通过Object.keys(obj)的方法返回属性名数组:
var obj={a: "123 ",b: "das ",c:" web " };
console . log(object . keys(obj));//[“a”、“b”、“c”];
var arr=["a "," b "," c "];
console . log(object . keys(arr));//["0","1","2"];【推荐学习:javascript高级教程】以上是如何理解javascript对象的细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。