1
首先,我想告訴所有觀衆,我不是問閉包如何工作,我理解他們,但是,我想知道他們的數據類型應該是什麼。如果封閉件像物體一樣起作用,它們是否是物體? (它看起來不像)
通過操作,閉包就像一個存儲函數和環境的記錄。所以,我試圖做到這一點的JS:
"use strict";
function printString(x){
var string = "hello " + x;
return function(){
console.log(string + ' how are you');
};
}
var myClosure = printString("Myname");
document.getElementById("testElement").textContent = typeof myClosure;
現在,如果myClosure
有function
數據類型,那麼它是如何能夠「記住」或存儲在執行時產生的局部變量?通常情況下,對象做這種東西。那麼,關閉不應該成爲一個對象嗎?
對象是窮人的關閉和關閉是窮人的對象。 –
Javascript中的一切都是一個對象,甚至是一個函數 – Liam
[本文詳細介紹了這個主題](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript) – Liam