js Object屬性及方法的理解

2021-07-22 23:06:57 字數 1419 閱讀 5122

一下僅個人的理解。還是特別前調一下,因為內容中涉及大量我以為別人的想法,但或許是我人傻理解成了別人是那麼種想法

關於object,簡單的理解可以解釋為封裝物件,擁有屬性和方法。比如物件:貓,屬性:體重,方法:吃;

那麼js如何定義物件兩者如何又有何區別;

那麼由淺入深的來說說:

一般情況下定義乙個物件;

var cat = 

}

很多人簡單的告訴別人屬性即值,方法一般用函式的形式,可以封裝賦值封裝行為。

但是我想問乙個問題。上述**中寫出cat的屬性;

我也試著在各個群裡問了一下。然後估計被當白痴無視了。

var ceshi = new

object;

var v;

object.defineproperty(ceshi, "_a", ,

set: function

(value)

});object.defineproperty(ceshi, "b",

});

//給_a賦值

ceshi._a = "11";

console.log(ceshi._a);//11

//通過呼叫方法b給_a賦值

ceshi.b("22");

console.log(ceshi.b); //function(v)

console.log(ceshi._a); //22

//當出現語法錯誤時,結果如何

ceshi.b = "33";

console.log(ceshi.b); //function(v) ceshi.b並沒有被重置

console.log(ceshi._a); //22;依舊是22

常規寫法

ceshi._a = function

(value)

ceshi.b = function

(value)

結果

//給_a賦值

ceshi._a = "11";

console.log(ceshi._a);//11

//通過呼叫方法b給_a賦值

ceshi.b = "33";

console.log(ceshi.b); //33 ___方法被重寫

console.log(ceshi._a); //11

//當出現語法錯誤時,結果如何

ceshi.b("22");

console.log(ceshi.b); //uncaught typeerror: ceshi.b is not a function

console.log(ceshi._a); //

js object的常用方法

1 for in 遍歷物件,返回物件的每乙個屬性 2 object.keys 遍歷物件,並返回乙個陣列,陣列的元素由物件的每個屬性構成 3 object.values 遍歷物件,並返回乙個陣列,陣列的每乙個元素由物件的屬性值組成 4 object.entries 遍歷物件,並返回乙個陣列,陣列的每乙...

window物件的屬性及方法

1.自定義函式 有參函式和無參函式 function 函式名 引數1,引數2,引數3 2.呼叫函式 事件名 函式名 3.匿名函式沒有函式名 4.變數的作用域 根據變數作用範圍不同,可分為全域性變數和區域性變數 5.window物件是整個bom的核心 6.bom可實現的功能 彈出新的瀏覽器視窗 移動 ...

IOS UITableView 方法及屬性學習

在ios開發中uitabelview及其常見,用法也非常的多,幾乎每個應用都會設計uitableview 下面我從頭檔案中抽取一些方法出來學習,希望對讀者也有一點幫助,這些方法在蘋果的文件中都有詳細的介紹 1,uitableview常用方法 設定section的數量 nsarray sectioni...