亚洲国产日韩人妖另类,久久只有这里有精品热久久,依依成人精品视频在线观看,免费国产午夜视频在线

      
      

        JavaScript-undefined和null

        undefined 和 null

        JavaScript 有兩個表示“空”的值,其中比較有用的是 undefined。

        undefined的值

        undefined 是一個值為 undefined 的類型。

        js定義了一個全局變量,它的值是 undefined,這個變量也被稱為 undefined。 但是這個變量不是一個常量,也不是一個關(guān)鍵字。這意味著它的值可以輕易被覆蓋。

        在 ECMAScript 5 的嚴(yán)格模式下,undefined 不再是可寫的了。 但是它的名稱仍然可以被隱藏,比如定義一個函數(shù)名為 undefined。

        下面的情況會返回 undefined 值:

        • 訪問未修改的全局變量 undefined。
        • 由于沒有定義 return 表達式的函數(shù)隱式返回。
        • return 表達式?jīng)]有顯式地返回任何內(nèi)容。
        • 訪問不存在的屬性。
        • 函數(shù)參數(shù)沒有被顯式的傳遞值。
        • 任何被設(shè)置為 undefined 值的變量。

        處理 undefined 值的改變

        由于全局變量 undefined 只是保存了 undefined 類型實際值的副本, 因此對它賦新值不會改變類型 undefined 的值。然而,為了方便其它變量和 undefined 做比較,我們需要事先獲取類型 undefined 的值。

        為了避免可能對 undefined 值的改變,一個常用的技巧是使用一個傳遞到匿名包裝器的額外參數(shù)。 在調(diào)用時,這個參數(shù)不會獲取任何值。

        var undefined = 123; (function(something, foo, undefined) { // 局部作用域里的 undefined 變量重新獲得了 `undefined` 值 })(‘Hello World’, 42);

        另外一種達到相同目的方法是在函數(shù)內(nèi)使用變量聲明。

        var undefined = 123; (function(something, foo) { var undefined; … })(‘Hello World’, 42);

        這里唯一的區(qū)別是,在壓縮后并且函數(shù)內(nèi)沒有其它需要使用 var 聲明變量的情況下,這個版本的代碼會多出 4 個字節(jié)的代碼。

        如果此函數(shù)內(nèi)沒有其它需要聲明的變量,那么 var 總共 4 個字符(包含一個空白字符) 就是專門為 undefined 變量準(zhǔn)備的,相比上個例子多出了 4 個字節(jié)。

        null 的用處

        JavaScript 中的 undefined 的使用場景類似于其它語言中的 null,實際上 JavaScript 中的 null 是另外一種數(shù)據(jù)類型。

        它在 JavaScript 內(nèi)部有一些使用場景(比如聲明原型鏈的終結(jié) Foo.prototype = null),但是大多數(shù)情況下都可以使用 undefined 來代替。

        鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
        上一篇 2022年6月14日 18:04
        下一篇 2022年6月14日 18:04

        相關(guān)推薦

        聯(lián)系我們

        聯(lián)系郵箱:admin#wlmqw.com
        工作時間:周一至周五,10:30-18:30,節(jié)假日休息