JS裡的物件

2021-09-24 08:36:35 字數 1428 閱讀 1603

es規定的global

瀏覽器裡預設的是window,在控制台裡輸入window即可看到所有屬性

每次開啟瀏覽器它都會自動生成global,global指向的位址指向window,裡面存放各種屬性(函式,函式也是物件).

es規定的

瀏覽器私有(winodw可省略)

簡單型別m = number('1')

直接在stack裡儲存了數字1,是沒有方法可以使用的,但是卻可以直接使用方法,原因在於使用方法時,js內部會建立乙個臨時變數,比如:

m.tosting()

temp = new number('1')

temp.tosting()

複製**

於是下面這種方法用的人就少了.

物件n = new number('1')

將n的位址存入stack,該位址指向乙個heap記憶體區域,以鍵值對的方式儲存了數字1.對應有很多方法可以使用.

其他型別也是如此.

var a = new number()

var b = new string()

var c = new boolean()

var d = new object()

複製**

以上這些物件都有tostring() valueof()等方法,把這些方法放在一起.每個物件都有乙個__proto__(指向共有的屬性的集合),通過__proto__訪問該集合來使用其中的函式.原型鏈就是從物件通過__proto__一級一級指向object.prototype的形象叫法.

var 物件 = new 函式() 

物件.__proto__ === 函式.prototype //true

函式.prototype.__proto__ === obeject.prototype //true

函式.__proto__ === function.prototype //true

function.prototype === object.prototype //true

var a = new number()

a.__proto__ === number.prototype //true

var b = new string()

b.__proto__.__proto__ === object.prototype //true

function.__proto__ === function.prototype //true

//左側物件是由函式構成的,所以它的__proto__ === 建構函式.prototype

複製**

JS函式裡的this物件

標準函式,this引用的是把函式當成方法呼叫的物件 var age 18 將變數新增到window裡 let obj function getage getage 18 this指向window obj.getage getage obj.getage 20 this指向obj箭頭函式,this引用...

日常記錄 JS裡的物件

1.js中不同型別資料的儲存有何不同?js引擎將計算機分配給它的那部分記憶體分為 區和資料區,區存放使用者寫的 資料區儲存資料。2.幾個經典理解儲存過程的題目 1.var a 1 var b a var b 2 現在a為?a 1 2.var a var b a b 現在a.name為?a.name ...

js修改陣列物件裡的物件屬性名

有時候前端請求介面返回的資料,並不是我們想要的資料格式,一般我們會使用map等方法遍歷修改屬性名,但如果資料量很大或者陣列物件的巢狀複雜,這種方法容易降低效率,下面我們使用乙個簡單的方法進行修改 data json parse json stringify data replace title g ...