JS基礎語法(五)物件

2021-10-01 14:14:59 字數 2053 閱讀 9627

現實生活中:萬物皆物件,物件是乙個具體的事物,乙個具體的事物就會有行為和特徵

例如:一部車、乙個手機

車是一類事物,門口停的那輛車才是物件。那麼車的特徵有:紅色、四個輪子;行為有:駕駛、剎車

因為物件可以抽象化一類的事物,方便使用,簡化**

function printperson(name, age, ***, salary)    //沒有物件時這樣來書寫很繁瑣及其不方便

//有物件後,我們可以通過呼叫即可解決

function printperson(person)

var student = 

}

物件:擁有屬性和方法,這些屬性和方法也叫成員

如建立狗物件:  屬性有name、type、age、color        方法有:bark(叫)、eat

var dog = ,    

eat: function () }

//如何訪問屬性 物件.屬性名

console.log(dog.name);

//如何訪問方法 物件.方法名

dog.bark();

一種方法為:     物件.屬性名            另一種方法為:    dog [ 'name' ]; (類似陣列,只是中括號裡面要用單引號把屬性括起來)

var hero = ,

run: function ()

}console.log(hero.name);

console.log(hero.equipment);

hero.attack();

hero.run();

需要有返回值return

​function creathero(name, weapo, equipment, blood),

hero.run = function ()

return hreo;

​}var hero1 = creathero('黃忠', '弓箭', ['頭盔', '靴子'], 100);

var hero1 = creathero('周瑜', '劍', ['頭盔', '盔甲'], 100);

new object();

new hreo();

都遵循帕斯卡命名:即第乙個單詞的第乙個字母大寫,後續的每乙個單詞的首字母都大寫,而一般函式是遵循駝峰原則。這也就是看函式名區分自定義函式的關鍵。

​function hero(name, weapo, equipment, blood),

hero.run = function ()

​}

在記憶體中建立了乙個空的物件

讓建構函式中的this指向剛剛建立的物件

執行建構函式,在建構函式中設定屬性和方法(當然也可以做其他事情)

返回了當前物件

this一般會出現在以下位置

//函式

function student()

student();

//物件 方法屬於物件,eat()方法屬於student物件

var student =

};student.eat();

//建構函式

function stu()

var my = new stu();

可以遍歷物件的成員,當不清楚物件的鍵值對時,可通過for in來檢視物件的屬性和方法

for (var key in student)
delete  student.name;

五 物件拷貝

為什麼要使用轉殖 想要處理某個物件,又想將該物件的資料保留下來用於接下來的處理,就需要用到轉殖 clone方法為native方法,產生物件的效率更高 轉殖針對的是物件,而不是類 如何實現轉殖 實現cloneable介面,重寫clone方法 序列化和反序列化 深拷貝和淺拷貝的區別是什麼 深拷貝不但可以...

8 1 物件基礎

知識梳理 1 js中沒有類的概念 只有物件 和php不同 2 建構函式 不需要 return 就可以返回值 學習目標 1 能夠說出為什麼需要物件 2 能夠使用字面量建立物件 3 能夠使用建構函式建立物件 4 能夠說出new的執行過程 5 能夠遍歷物件屬性 一 概念1 什麼是物件 1 物件一定是乙個具...

隨筆五 物件賦值

乙個物件被初始化之後再做賦值運算就是物件的賦值,如果物件在做初始化時,進行 號運算實際上是呼叫拷貝構造。a a2 a a a2 拷貝構造 a a3 a3已經被初始化,a3 a2 物件的賦值a a operator const t rhs return this 看到這裡,讀者可能會有一點疑惑,為什麼...