对象和数组的本质一样,都是组织的“一堆数据”,只不过对象的下标不为数字且无序
创建一个对象:
和创建数组的"[]"不一样,创建对象用()
和创建数组直接放置值不一样,创建对象时值前面还要加“属性”
创建语法:(属性1:值1,属性2:值2)
对象单元值的引用
obj.属性 或者 obj['属性'];
对象如何遍历?
因为对象的属性和数组下标不一样,数组的下标是从0开始,而且是有规律的递增,因此可以用for循环来遍历,而对象的属性是没有规律的,用for in 结构来遍历
for(per in obj){
xxxxx
}
注意在for in结构中,利用循环得到的属性,取值时,不能用obg.属性的方式,只能用obj[属性]这个方式,不能用obj.属性
对象单元值的删除
delete obj.属性名
在js中,函数本身就是变量,而数组和对象存储的就是“变量”,对象的某个属性的值,----有没有可能是一个函数呢?
答:可以,对象的某个属性对应的值,可以是函数,如果是函数时呢,这个属性往往也叫“方法”
如果对象的某个“方法”,需要调用自身的某个属性值,可以在函数中用一个关键词来代替“自己”这个对象--this
this --->代表对象自身
结合现实中的例子:
一张纸前面写着:请在以下空格内,签下自己的名字,那么,张三来签时,就签“张三”,李四来签时,就签“李四”,谁签的时候,就签谁自己的名字