我正在閱讀John Resig JavaScript Ninja book。在那裏他寫道,函數具有可執行的「超級能力」。JavaScript:「可執行的功能」是什麼意思?
我不明白「可執行」是什麼意思。
這是否意味着JavaScript解釋器將以字符串形式存在的代碼轉換爲機器代碼?然後由CPU執行哪一個?但在這種情況下:其他數據也由CPU處理。區別在哪裏?
有人可以用非計算機科學畢業生可以理解的方式解釋術語「可執行」嗎?
我正在閱讀John Resig JavaScript Ninja book。在那裏他寫道,函數具有可執行的「超級能力」。JavaScript:「可執行的功能」是什麼意思?
我不明白「可執行」是什麼意思。
這是否意味着JavaScript解釋器將以字符串形式存在的代碼轉換爲機器代碼?然後由CPU執行哪一個?但在這種情況下:其他數據也由CPU處理。區別在哪裏?
有人可以用非計算機科學畢業生可以理解的方式解釋術語「可執行」嗎?
這意味着函數是cpu可以執行的一組指令。相比其他編程結構像變量和對象,只是保存數據,這是一種特殊的..
像JavaScript這樣的語言specialy功能是對象。 「正在執行」是preatty特殊的。
so imageine like this。 a
是可變的對象,這意味着它擁有數據
a = 10
計算機知道a
具有價值10
,但它不知道這意味着什麼,或者用它做什麼。 在另一方面,一個函數對象持有說明
function a(){do{...}while(b=10)}
這menas計算機就知道該怎麼做。它可以採取a
的指示,並逐一執行它們。
我假設一個更簡單的解釋:它意味着可以調用一個函數(作爲一個特殊對象),而一個對象通常可能不是。
var foo = function() {};
foo(); // call or "execute" it
var bar = {};
bar(); // TypeError: bar is not a function
從硬件和操作系統的POV有(非執行)數據和可執行指令的區別,但高級語言如JavaScript的設計使人們擺脫這樣的細節。
字符串也可執行,如果你將它們傳遞給eval –