程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> javascript-JS中為何Function是Object的實例?

javascript-JS中為何Function是Object的實例?

編輯:編程解疑
JS中為何Function是Object的實例?

在JS中,Function instanceof Object將會返回true,這是為何?在Object的
prototype中似乎找不到Function.__proto__或Function.constructor.prototype的
對象啊

最佳回答:


instanceof實現原理如下:
function instance_of(L, R) {//L 表示左表達式,R 表示右表達式
var O = R.prototype;// 取 R 的顯示原型
L = L.__proto__;// 取 L 的隱式原型
while (true) {
if (L === null)
return false;
if (O === L)// 這裡重點:當 O 嚴格等於 L 時,返回 true
return true;
L = L.__proto__;
}
}

Function.prototype.===Function.__proto__;
Function.prototype.__proto__===Object.prototype
由此判斷Function為Object的一個實例將會為true

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved