原始碼學習之void 0

2022-07-13 11:09:10 字數 845 閱讀 8961

今天看原始碼的時候看到void 0這樣的寫法,平時在業務**裡基本沒有這樣的寫法,於是學習了一下。

在控制台執行了一下void 0,得到返回值是undefined

在mdn上搜了一下void,了解到:

以vue的原始碼為例:

var createemptyvnode = function (text) ;
這段**用於建立乙個空節點。

這裡void 0返回了undefined,並與傳入的text引數比較,如果相等,將text賦值為空字串。

為什麼這裡不直接用undefined,而要「多此一舉」地用void 0

看下面這段**:

function test()
可以看到,undefined是可以被重寫的:在test函式中undefined被重寫為字串"666",而void 0卻不受影響,依然得到undefined資料型別。

這裡需要注意:

除了void 0,也可以用void 123void "abc"等其他void表示式代替,之所以選擇void 0,是因為它是各種void表示式中位元組數最少之一(6個位元組,用void 0代替undefined能節省3個位元組)。

C語言中的 void 0 與 void 0

前幾天看到乙個巨集,它大概是這樣的 define assert param expr expr void 0 assert failed u8 file line 的含意簡單,關鍵是那個 void 0 的用法,我還是第一次見到 我用 void 的時候,有兩種情況 1.放到函式前面,強調函式沒有返回值...

C語言中的 void 0 與 void 0

前幾天看到乙個巨集,它大概是這樣的 define assert param expr expr void 0 assert failed u8 file line 的含意簡單,關鍵是那個 void 0 的用法,我還是第一次見到 別笑 我用 void 的時候,有兩種情況 1.放到函式前面,強調函式沒有...

函式指標 void 0

在很多情況下,尤其是讀別人所寫 的時候,對 c語言宣告的理解能力變得非常重要,而c語言本身的凝練簡約也使得c語言的宣告常常會令人感到非常困惑,因此,在這裡我用一篇的內容來集中闡述一下這個問題。問題 宣告與函式 有一段程式儲存在起始位址為 0的一段記憶體上,如果我們想要呼叫這段程式,請問該如何去做?答...