首頁  >  文章  >  web前端  >  初識Js中對象概念

初識Js中對象概念

一个新手
一个新手原創
2017-09-26 09:50:031154瀏覽

物件

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');
#############new創造新的空物件p1張三的空間,呼叫執行function建構函式為p1物件新增加屬性和方法;#######

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn