在JavaScript中创建一个object:
var objectName = {
objProperty1 : value,
objProperty2 : value,
objProperty3 : value,
};
说明: 用声明变量的方法来声明一个对象,等号右边使用大括号包括,
并在里面填写对象特有的属性及方法,上面的小例子并没有写方法
【因为我还在属性这个阶段,不过,有了Java编程基础之后,个人认为
继续下去不难】,要细心留意的一点是:
属性名 冒号 属性值 逗号。
最后在整个代码片段以分号结束。
创建一个没有属性的对象?
Just like :
var obj = {
// 不写任何属性。
};
我为什么要去创建一个空的对象?
灵活一点是吗?
【问题】创建了空对象后,要如何去使用?-->> 添加属性和删除属性
【回答】
var obj = {};
console.log("创建了一个空对象,现在测试开始...");
obj.color = "red";
obj.state = false;
console.log(obj.color + " " + obj.state);
console.log("删除属性state...");
delete obj.state;
console.log(obj.color + " " + obj.state);
直接给不存在的对象属性赋值,便可以使用。<br>
对于一个不存在的对象属性,直接访问或将得到一个undefined的结果。
<font color = red>删除属性删除的是属性本身,所以当属性被删除后,继续访问该属性是错误的,不符合逻辑的。</font>
【问题】JS对象去访问一个不存在的属性会得到一个什么结果?
【回答】答:一个undefined的结果如果去访问一个不存在的属性。
【问题】在类中,如果我放了一个逗号在最后一个属性后面,会发生什么结果?
【回答】_在大多浏览器中,一般都不会报错,但是在版本较老的浏览器中可能会只执行到它之前的语句。
【问题】我能通过console.log
语句将一个object在控制台console中显示出来吗?
【回答】Yes, you can.
<font color = red>一个变量并不能实际上地存储一个对象object,而是存储一个reference,指向object.</font>
我们现在知道创建一个对象可以通过```var obj = {...}```,
但是obj本身存储的并不是这个对象```obj```本身,
而是一个指向```对象本身```的指针变量。
【问题】只要是一个对象,那么这个对象就可以拥有属性和行为,然而,我们学会了如何为对象添加属性,但是,要如何给对象添加行为behavior呢?
【回答】
var dog = {
color:yellow,
legs:4, // 注意属性与属性之间由逗号隔开
/* 下面为dog对象添加行为,我们可以看到,声明function中,并没有函数名,但是我们可以通过dog对象的shoutting属性找到这个function */
shoutting : function () {
console.log("wang...wangwangwang....");
}
}
【说明】将对象属性名与匿名函数绑在一起,就成为对象的方法了。
【问题】上面演示了如何为object,对象添加其本身的动作行为,那我们如何来使对象的行为激活呢?
【回答】其实,这个就和Java语言很相似了,我们可以通过"."符号来使连接对象与function,话多无益,例子最实际,下面一起来看看吧!
var dog = {
color:yellow,
legs:4, // 注意属性与属性之间由逗号隔开
/* 下面为dog对象添加行为,我们可以看到,声明function中,并没有函数名,但是我们可以通过dog对象的shoutting属性找到这个function */
shoutting : function () {
console.log("wang...wangwangwang....");
}
}
dog.shoutting(); // 通过"对象名.属性名"来使对象动起来,其中属性名也相当于是对象的方法名吧!
【说明】对象名.方法属性名(),可以调用到对象的方法