JS深刻理解補充

2021-06-27 23:56:49 字數 576 閱讀 6785

對於函式的理解,首先看乙個函式定義:

function functiondefined(){}

顯而易見,functiondefined 為函式名字,在js中為指向這個函式體的指標,代表這個函式的指標的變數,並且和原始資料型別一樣儲存在棧中。而functiondefined函式體則儲存在堆中。每當new出乙個函式的例項,就會利用建構函式new出例項,並且儲存在堆中。也就是對functiondefined函式體的拷貝並且進行儲存。

知道了這個,我們再來看物件冒充:

function functiondefined(color){}

function createobject(){

this.functiondefinedcopy=functiondefined;

this.functiondefinedcopy('color');

delet this.functiondefinedcopy;

在此函式中將functiondefined的值傳給了functiondefinedcopy,使得functiondefinedcopy指向了函式體。並以此來冒充functiondefined。執行其中的方法。

深刻理解IdentityHashMap

新建pojo package test public class cat public string getname public void setname string name public integer getage public void setage integer age public...

深刻理解IdentityHashMap

新建pojo package test public class cat public string getname public void setname string name public integer getage public void setage integer age public...

深刻理解fork呼叫

fork 是linux中的系統呼叫函式,用於建立程序,建立失敗返回 1,建立成功會返回兩次 不是返回了兩個值,而是返回了兩次 需要注意的是fork呼叫一次返回兩次 對父程序而言它返回的是子程序的id,對子程序而言它返回0。子程序是父程序的副本,它將獲得父程序資料空間 堆 棧等資源的副本。注意,子程序...