第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

javascript中Function 與Object的關(guān)系?

javascript中Function 與Object的關(guān)系?

MMMHUHU 2019-02-05 15:06:29
javascript中Function 與Object的關(guān)系
查看完整描述

2 回答

?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗 獲得超7個贊

  1. javascript中,“函數(shù)”(方法)也是對象。

  2. 一切對象都有一個根源。它是Object.prototype。

  3. 根源之上再沒有其他根源。Object.getPrototypeOf(Object.prototype)是null。js中除字面量以外的一切引用對象都來自這個“根源”對象。

  4. 表達(dá)式Object.getPrototypeOf(Function) === Function.prototype的結(jié)果是真。這是Function特有的。實際上Function的prototype是一個內(nèi)置函數(shù),一切函數(shù)都派生自這個內(nèi)置函數(shù),這個內(nèi)置函數(shù)是一個函數(shù)工廠。這個內(nèi)置函數(shù)對象的prototype指向“根源”對象。

  5. 表達(dá)式Object.prototype === Object.getPrototypeOf(Function.prototype)的結(jié)果是真。說明了Object跟Function二者之間的聯(lián)系,是通過“根源”對象聯(lián)系起來的。



Function和Object,既是函數(shù),因為都可以Function()或者Object()這樣的方式執(zhí)行,又是對象,因為可以Function.a = 'a',Object.a = 'a'這樣賦值。


說它們是函數(shù),是因為他們都是通過上面第4條中說的”內(nèi)置函數(shù)工廠“,派生出來的,因而具備函數(shù)的特性。


說他們是對象。是因為他們都是通過上面第1條中的”根源“對象,派生出來的,因此具備對象的特征。


繼續(xù)說一下,F(xiàn)unction.prototype指向”內(nèi)置函數(shù)“。而Object.prototype指向”根源對象“。

因而new Function會產(chǎn)生一個匿名函數(shù),而new Object產(chǎn)生一個plain object。


他們之間的關(guān)系簡單描述就像下面這樣。



查看完整回答
反對 回復(fù) 2019-03-20
?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗 獲得超8個贊

一、從定義的角度來說:
function Function(){}
前者為定義一個js函數(shù)
后者為這個函數(shù)的名稱
Object為選擇的DOM對象

二、從用法講:
var a = new Object(function(){});
這里a也是function了。

三、總結(jié):
不管是function ,還是new Function(), 還是new Object(function(){}),當(dāng)解釋器(例如V8)遇到時,則將它們初始化成一個函數(shù)(最主要的是給其添加了一個[[call]]屬性)。



查看完整回答
反對 回復(fù) 2019-03-20
  • 2 回答
  • 0 關(guān)注
  • 1133 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號