物件
1.物件初識
JavaScript的物件是一組由鍵-值組成的無序集合,例如:
var person = { name: 'zhangsan', age: 20, tags: ['js','web','mobile'], city: 'Beijing', hit:null };
#JavaScript物件的鍵都是字串類型,值可以是任意數據類型。
其屬性可以包含基本值,物件或函數。物件其實就是一組沒有順序的值,我們可以想像將Js中物件想像成鍵值對,其中值可以是資料和函數。
物件的行為與特徵
#特徵—屬性
#行為-方法
#2.如果一個變數屬於物件所有,那麼變數就可以稱之為該物件的一個屬性,屬性一般是名詞,用來描述事物特徵;
#如果一個函數屬於物件所有,那麼該函數就可以稱之為該物件的一個方法,方法是動詞,描述事物的行為和功能
#3.new關鍵字:
#建構函數,是一種特殊的函數,主要用來建立物件時初始化對象,即為物件成員變數賦初始值,總是與new運算子一起使用在建立物件的語句中。
1)建構函式用於建立一類對象,首字母要大寫;
#2)建構函式要與new一起使用才有意義。
new執行時會做四件事
a.new會在記憶體中做建立一個新的空物件
b.會讓this指向這個新的物件
#c.執行建構函式目的:為了給這個物件新屬性加屬性和方法
#######d.new會回傳這個物件### ###############自訂建構子######function Person(name,age,job){ this.name = name; this.age = age; this.job = job; this.sayHi = function(){ console.log('Hello,everyBody'); } } var p1 = new Person('张三',22,'actor','Beijing');
4.this关键词
js中this的指向问题,有时候会让人难以捉摸,函数内部的this有几个特点:
1)函数在定义的时候this是不确定的,只有调用的时候才能确定;
2)一般函数直接执行,内部this指向全局window;
3)函数作为一个对象的方法,被该对象所调用,那么this指向的是该对象;
4)构造函数中的this其实是一个隐式对象,类似一个初始化的模型,所有方法和属性都挂载到了这个隐式对象身上,后续通过new关键字来调用,从而实现实例化。
遍历对象:
for(var key in obj){ console.log(obj[key]); }
打印出来第一个obj[i]是
(对象的下标)
打印出来的第一个obj是遍历过i的对象
for(var key in obj){ console.log(key+"=="+obj[key])
}打印出的结果是:
key是下标0,1,2,3,4,5,6...
obj[key]是遍历对应的下标对象的值
如果打印的是obj.key,因为.key是找对象的属性,该对象没有key属性所以是undefined;
取消对象属性,如果给对象定义key属性并赋值,想要取消key属性
delete obj.key;
以上是初識Js中對象概念的詳細內容。更多資訊請關注PHP中文網其他相關文章!