介紹:物件是多個屬性的集合,使用鍵值對進行儲存
兩種方式:字面量和建構函式
字面量
var obj=
建構函式
var obj=
newobject()
;
兩種方式:點訪問符和中括號訪問符
點訪問符
訪問:
var name=obj.name;
寫入:
obj.name=
"terry"
;
中括號訪問符,可以適用於變數
var a=
"name"
;//obj[a]等價於obj["name"]等價於obj.name
"name"
in obj //檢測obj物件中是否有名為name的屬性
注意:只能遍歷出可迭代屬性,使用者建立的物件預設為可迭代屬性,不可迭代屬性不能被遍歷出來,但是可以訪問
for
(var k in obj)
delete obj.name;
//從物件obj中刪除name屬性
將物件轉換為字串,便於資料傳輸
兩種格式:json字串格式和查詢字串格式
序列化
var json=
json
.stringify
(obj)
;//格式:''
var qs=
querystring
(obj)
;//格式:'屬性名=屬性值&屬性名&屬性值'
反序列化:將json字串格式和查詢字串格式轉換為物件
var obj=
json
.parse
(json)
;var obj=querystring.
parse
(qs)
;
var obj=
newobject()
; obj.__proto__ //內部屬性,指向其建構函式的原型即object.prototype,不可迭代
例項不能呼叫其建構函式中的方法,但是可以呼叫其建構函式原型中的方法
object.
assign
(目標物件,
...源物件)
//將所有可列舉屬性的值從乙個或多個源物件複製到目標物件。它將返回目標物件。
object.
keys
(obj)
//獲取obj中所有可列舉屬性的屬性名,組成乙個陣列並返回
object.
values
(obj)
//獲取obj中所有可列舉屬性的屬性值,組成乙個陣列並返回
object.
defineproperty()
//定義或修改屬性
object.prototype.constructor //返回建立例項物件的object建構函式的引用,檢測資料型別
object.prototype.
tostring()
//返回乙個表示該物件的字串,如[object object]
object.prototype.
valueof()
//返回指定物件的原始值
object.prototype.
hasownproperty
(k)//判斷k是否是物件的自有屬性
object.prototype.
propertyisenumerable
(k)//判斷k是否可列舉
object.
defineproperty
(物件名,
"屬性名",,
get:
function()
})
關於 js中的arguments 物件
arguments物件包含了函式執行時的所有引數,arguments 0 就是第乙個引數,arguments 1 就是第二個引數,以此類推。這個物件只有在函式體內部,才可以使用。var f function one f 1,2,3 1 2 3 正常模式下,arguments物件可以在執行時修改。va...
js的location物件介紹
在寫前端js元件時,由於元件被單獨封裝到乙個js檔案中,而同時元件又有在裡面的話,找路徑就有相對路徑和絕對路徑2種辦法。而此時的相對路徑在呼叫這個js的頁面,所以沒法寫 同時相對路徑的.之類的,當資料夾移動後,維護起來很困難,所以無論從原則上,還是這個問題上,採用相對路徑都不好。那麼,我們只能用絕對...
Js中關於陣列常用函式的介紹
關於array的函式可分為兩類,第一類是會對原陣列修改的 第二類是不修改原陣列,返回新陣列。1.arrayobj.splice start,deletecount,item1 item2 itemn 從乙個陣列中移除乙個或多個元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。兩個用途...