Reflect.construct() 方法
關於Proxy更多內容可以參閱JavaScript Proxy和Reflect一章節。
此方法行為有點像new操作符 建構函式,相當於執行new target(...args)。
語法結構:
[JavaScript] 純文字檢視 複製程式碼Reflect.construct(target, argumentsList[, newTarget])
引數解析:
(1).target:執行的建構函式。
(2).argumentsList:陣列或者偽陣列,儲存了給建構函式傳遞的引數。
(3).newTarget:可選,被用作建構函式。
特別說明:如果target或者newTarget不是建構函式就會報錯。
程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var date = Reflect.construct(Date, [2016, 5, 27]); console.log(date instanceof Date); console.log(date.getFullYear());
Date()被以建構函式的方式呼叫,引數是陣列[2016, 5, 27]中的元素。
[JavaScript] 純文字檢視 複製程式碼執行程式碼let target = function (webName, url) { this.webName = webName; this.url = url; } target.prototype.a = 1; let newTarget = function () { this.age = 4; } newTarget.prototype.b = 2; let otarget = Reflect.construct(target, ["螞蟻部落", "www.softwhy.com"], newTarget); console.log(otarget.webName) console.log(otarget.age) console.log(otarget.a) console.log(otarget.b)
newTarget會被用作建構函式,但是有一些細節需要注意:
(1).例項otarget具有target建構函式中的屬性,但是不具有target原型物件上的屬性。
(2).例項otarget不具有newTarget建構函式中的屬性,但是具有newTarget原型物件上的屬性。
相關文章
- Java中parse方法,ValueOf方法,toString方法Java
- Python例項方法、類方法、靜態方法Python
- js includes方法 和 filter方法JSFilter
- Java的方法靜態方法Java
- show()方法和hide()方法IDE
- 方法
- 徹底理解了call()方法,apply()方法和bind()方法APP
- Python Class 的例項方法/類方法/靜態方法Python
- slideUp()方法和slideDown()方法IDE
- Java方法03:方法的過載Java
- 物件導向2--靜態方法、類方法、屬性方法物件
- javaSE-day04--ArrayList基本用方法、類內定義方法和方法過載、靜態方法static(類的方法)、工具方法(static)的定義和使用Java
- 來看看兩種好玩的方法,擴充套件方法和分部方法套件
- initialize方法與load方法比較
- Java System類,currentTimeMillis方法,arraycopy方法。Java
- jQuery方法原始碼定位簡單方法jQuery原始碼
- 細說equals()方法和hashCode()方法
- prop()方法和attr()方法的區別
- 詳解equals()方法和hashCode()方法
- exitFullscreen() 方法
- Promise then() 方法Promise
- removeProperty() 方法REM
- deleteRule() 方法delete
- getPropertyPriority() 方法
- getPropertyValue() 方法
- javascriptreplaceAll方法JavaScript
- main方法AI
- 字串方法字串
- call() 方法
- 類方法
- Main()方法AI
- 方法引用
- Java方法Java
- 【MyBatis原始碼分析】insert方法、update方法、delete方法處理流程(上篇)MyBatis原始碼delete
- 【MyBatis原始碼分析】insert方法、update方法、delete方法處理流程(下篇)MyBatis原始碼delete
- 方法的過載、可變形參的方法、方法的引數值傳遞機制、遞迴方法遞迴
- jQuery中過濾方法slice()方法如何使用?jQuery
- Java方法02:方法的定義和呼叫Java