国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

字面量、變量、常量 let const的理解

gplane / 867人閱讀

摘要:常量與字面量的區別常量與字面量均不會被改變。常量為存儲數據的容器,而字面量為等號右側的值,字面量是由字符串,數字等構成的字符串或數值。在中,標識符用于命名變量以及關鍵詞函數和標簽。

之前竟然對常量、字面量都沒有搞清楚,要學習的真的是好的 剛才終于搞清楚了 是該好好在學一遍js的

字面量:在編程語言中,一般固定值稱為字面量,如 3.14。
        不是一種值,而是一種變量記法
        等號右側的值均為字面量  var a = 1
   .數字(Number)字面量 可以是整數或者是小數,或者是科學計數(e)。
     3.14   1001
   .字符串(String)字面量 可以使用單引號或雙引號:
     "John Doe"  "John Doe"
   .對象(Object)字面量 定義一個對象:
    {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}
    還有函數字面量、數組字面量等
常量:與變量一樣均是用于 ‘存儲數據’ 的容器,只不過常量的值在程序的運行中不可以發生改變
        在ES6之前并沒有聲明常量的方法,在ES6中新增加了const來定義常量
        建議常量的命名全部大寫,如果由多個單詞構成,可以用下劃線分割
        const MY_SITE="http://www.zhangpeiyue.com";//MY_SITE為常量,"http://www.zhangpeiyue.com"為字面量
        只能在初始化的時候被賦值,賦值以后不允許被再次賦值
變量:也是用于存儲數據的容器,在程序的運行中可以發生改變或者被再次賦值
        可以使用var關鍵字來聲明變量,變量的值可以是任意類型。為了更好的閱讀,建議變量使用駝峰命名法命名:
        var myName="js";//myName為變量,“zhangpeiyue"為字面量
        在ES6中新增了let關鍵字聲明變量,作用與var類似,只是聲明的變量只在其所在區域內有效:
        let str="es6";//str為變量,"es6"為字面量
        說明:var,let和不用任何修飾的變量的區別
            num = 1  代表window的一個屬性,不能使用delete刪除
            var num = 1;代表全家變量,可以使用delete刪除
            let num = 1;代表局部變量 
常量,變量,字面量的區別
    常量與變量的區別:常量與變量的存儲方式是一樣的,只不過常量必須要有初始值,
            而且值不允許被修改,而變量可以無初始值,且可以多次賦值。
    常量與字面量的區別:常量與字面量均不會被改變。常量為存儲數據的容器,
            而字面量為等號右側的值,字面量是由字符串,數字等構成的字符串或數值。    
再說一下標識符:標識符是名稱。 在 JavaScript 中,標識符用于命名變量(以及關鍵詞、函數和標簽)。
                 標識符須除了關鍵字、保留字之外才行     
let 是聲明變量

它不同于var,不存在變量提升 在聲明變量之前該變量是不可用的,否則會報錯,這在語法上叫“暫時性死區”;

let 不允許同一作用域內重復聲明

在某些場合下var聲明變量是不合理的

`場景1: 內層變量覆蓋了外層變量
var tmp = new Date();
function f () {
    console.log(tmp)
    if (false) {
        var tmp = "hello world!"
    }
}

f () // undefined


場景2:用來計數的循環變量泄露為全局變量
var a = "hello"
for (var i = 0; i

關于塊級作用域,可能有的小白不知道,其實它就是 {} {{}}這就是兩個塊級作用域了
let就是給js新增塊級作用域的那個法器

一些說明  . 外層作用域無法讀取內層作用域的變量
         . 塊級作用域與函數聲明有點復雜 就不多說了 但ES6支持(允許)在塊級作用域內聲明函數

const是聲明常量

它聲明一個只讀常量,且一旦聲明,就不能改變
eg:const PI = 3.1415

      PI  // 3.1415
      PI = 3 // 報錯

聲明必須賦值,否則報錯
eg: const FOO // 報錯

不會提升,必須先聲明再使用,否則報錯

和let一樣,不能重復聲明,否則報錯

const 本質 :

const 實際上保證的并不是變量的值不能改動,而是變量指向的那個內存地址不得改動。
但這對于簡單的數據類型來說(數值、字符串、布爾值等),值就是保存在變量指向的內存地址中,因此等同于常量(所以,說const是聲明常量好像不太準確了)
但對于復合類型的數據(主要是數組和對象吶),變量指向的內存地址保存的只是一個指針,const只能保證這個指針是固定的,至于它指向的數據結構是不是可變的,這完全不能由它控制。因此,將一個對象(或數組)聲明為常量時一定要考慮好哦

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/105818.html

相關文章

  • 【重溫基礎】1.語法和數據類型

    摘要:語法和數據類型正文開始本章節復習的是中的基本語法,變量聲明,數據類型和字面量。聲明一個塊作用域的局部變量,可賦一個初始值。變量聲明有三種方式如,聲明局部變量和全局變量。 最近開始把精力放在重新復習JavaScript的基礎知識上面,不再太追求各種花枝招展的前端框架,框架再多,適合實際項目才是最重要。 上星期在掘金發布了幾篇文章,其中最大塊算是 【復習資料】ES6/ES7/ES8/ES...

    Darkgel 評論0 收藏0
  • 帶你入門 JavaScript ES6 (一)

    摘要:是國際組織于年月日發布的第六版,正式名為通常被成為或。二模版字面量提供一種簡單實現表達式嵌套的字符串字面量操作,簡而言之就是能夠以簡單的方法實現字符串拼接操作。 本文同步 帶你入門 JavaScript ES6 (一),轉載請注明出處。 ES6: 是 ECMA國際組織于 2015 年 6 月 17 日發布的 ECMAScript 第六版,正式名為 ECMAScript 2015,通常被...

    lindroid 評論0 收藏0
  • 重新復習js

    摘要:復習基礎到底是什么的應用場合極其廣泛。常量不可以通過重新賦值改變其值,也不可以在代碼運行時重新聲明。布爾對象是原始布爾數據類型的一個包裝器整數整數可以用十進制基數為十六進制基數為八進制基數為以及二進制基數為表示。 復習js day1 js基礎 JavaScript 到底是什么 JavaScript 的應用場合極其廣泛。簡單到幻燈片、照片庫、浮動布局和響應按鈕點擊。復雜到游戲、2D 和 ...

    xuexiangjys 評論0 收藏0
  • 《深入理解ES6》筆記——擴展對象功能性(4)

    摘要:將對象的屬性拷貝到了對象,合并成一個新的對象。而這種行為也是新增的標準。總結本章講解了對象字面量語法拓展,新增方法,允許重復的對象字面量屬性,自有枚舉屬性排序,增強對象原型,明確了方法的定義。但是,就算把全部新增的功能記住也不是難事。 變量功能被加強了、函數功能被加強了,那么作為JavaScript中最普遍的對象,不加強對得起觀眾嗎? 對象類別 在ES6中,對象分為下面幾種叫法。(不需...

    baihe 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<