乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      JavaScript入門-js的變量以及運算

       路人甲Java 2021-08-28

      關(guān)于js變量

      • 變量,就是一個用來存儲數(shù)據(jù)的容器
      • 一般來說,我們的變量都是可以得先聲明,再使用,就像是一個東西先必須存在,才能看得見摸得著。然而在js里(es5),可以先使用,后聲明。
          a = 100;
          var b =200;
          console.log(a,b)
          var a;
          輸出結(jié)果為:100,200
      
      ps:這樣的語法在es5里是能夠執(zhí)行的,雖然它不符合我們的邏輯思維。在js里叫做,變量提升。
      
      • 如果在聲明變量時,沒有賦值,直接打印不會報錯,因為它有一個默認(rèn)的值,undefined,表示未定義的值。
      • 變量的類型:js是一種弱語言,變量聲明時,它的數(shù)據(jù)類型不明確,只有在賦值的那一刻,變量的數(shù)據(jù)類型才確定。
      • 變量的重復(fù)定義:
              var a = 3
              var a = a-1;
              console.log(a)
              //輸出結(jié)果為2
      
      像這樣的語法在Java,c等中,絕對報錯,但是在es5中,叫做重復(fù)定義。這個邏輯也不符合正常,就好比出生,都是出生一次,沒有說有出生兩次三次的說法,因此這上面的幾個不太符合邏輯的特點,我們知道就行,盡量避開就行。
      

      JavaScript中的7種數(shù)據(jù)類型

      口訣: 3 2 2
      

      三種基本數(shù)據(jù)類型

      • number 數(shù)字類型。不區(qū)分小數(shù),整數(shù),浮點數(shù),只要是個數(shù),都?xì)w類為number類型。
        (ps:NaN表示非數(shù)字類型,就是除了數(shù)字意外的,叫做非數(shù)字,他是number的一個屬性)
      • string 字符類型。這個不用多解釋,var str = '';'和"都可以
        ps:建議不要使用new String('xxxx'),因為這個影響執(zhí)行速度
      • Boolean 布爾類型 。 只有兩個值,true/false,非真即假

      兩個引用數(shù)據(jù)類型

      • Object 對象類型。
          //1.    直接用{}創(chuàng)建對象
          var obj = {name:'rainbow',age=20,run : function(){
              console.log('i love runnning');
          }};
          //2.    用new關(guān)鍵字實例化一個對象
          var obj2 =  new Object();
          obj2.name = 'rainbow';
          obj2.age = 20;
          obj.say = function(){
              console.log('hello world')
          }
      
      • Array 數(shù)組類型
              //1.    直接用[]創(chuàng)建
              var arr = [];//空數(shù)組
              //2.    new 
              var arr2= new Array();
      

      ps:注意的是,js可以不用給數(shù)組一個初始長度,并且這個長度可讀可寫,但是不建議寫,因為可能導(dǎo)致數(shù)據(jù)丟失

      兩種特殊數(shù)據(jù)類型

      • undefined
        未定義的數(shù)據(jù)類型
      • null
        值為null

      typeof關(guān)鍵字

      typeof就是用來檢測一個變量的數(shù)據(jù)類型
      使用方法:typeof 變量名(或者常量名)
      

      賦值運算符

      自增自減:a++,++a,a--,--a;
      ps:++a 和 a++的區(qū)別:
      如果單單是一條語句而言,兩者并沒有什么區(qū)別,就僅僅是一條語句而已,執(zhí)行后,自己都加了1,但是在有賦值和其他復(fù)雜的運算時,就有區(qū)別了;

          e.g.
              var a = 8;
              ++a;
              var b = a++;
              var c = --b;
              console.log(a,b,c);
              //輸出結(jié)果為a,b,c為10,8,8
      
      b = ++a; 先自增,后賦值
      b = a++; 先賦值,后自增
      

      比較運算符

      1. ASCII的比較
        d > f false
        a > 2 false
        查閱ASCII表,記住幾個常用的ASCII碼值就行了。
      2. == !=
        比較的兩邊的值是否相等或者不相等,不同的數(shù)據(jù)類型也可以比較
      3. === !==
        === 首先比較兩邊的數(shù)據(jù)類型是否相等,不相等后面就不再比較了。如果同類型,那么就比較值是否相等。(推薦使用)
        !== 就是不全等,===的取反

      邏輯運算符

      與或非

                  or      and     not
          邏輯運算 ||      &&       !         
          位運算   |       &
          三目運算符  A<B?表達(dá)式1:表達(dá)式2; //true放回表達(dá)式1,否則為表達(dá)式2
      
          //表示真假的運算
                      真      假
          布爾值      true    false
          數(shù)字        非0      0
          字符串      非空    null
      

      短路與和短路或

      口訣:
      短路與 有0出0,全1為1
      短路或 有1出1,全0為0
      ps:注意,短路與和短路或在運算時,結(jié)果并不是返回true或者false布爾值,而是返回左邊或右邊具體的值。比如

              //短路與
              console.log(1 && 1);//1
              console.log(19 && 20);//20
              console.log(0 && 20);//0
      
              //短路或
              console.log( true || 1)//true
              console.log( '' || 1 )//1 
              console.log( ' ' || 1 )//' '    空格不是空
      

      字符串拼接

      自動轉(zhuǎn)換

          1.  number -> string 
              console.log(1+2+'3')//輸出:33 字符串類型
              
              console.log('1'+4+6+9) //1469
              
              console.log(10+8+'1'+4+6) //18146
      
          2.  string -> number
              console.log(1+2+'3'-4);//輸出29,number類型
      
              console.log(true + 1);//3 number
      
              console.log(true - 1);//0 number
      
      
      ps:如果字符串出現(xiàn)在最左邊,那么后面的數(shù)字都會拼接。
         如果字符串出現(xiàn)在最右邊,那么前面的數(shù)字都會相加,再拼接。
      

      強制轉(zhuǎn)換

      首先我們需要理解一個知識,什么是包裝類?
      它其實就是把幾種基本的數(shù)據(jù)類型(除了undefined和null),封裝成一個類,并給這個類添加屬性和方法。

      實例化
          我們打印一下這個未實例化的Number,輸出的是?
          console.log(Number);
          //結(jié)果:? Number() { [native code] },是一個function
      
          //實例化后
          console.log(new Number(2));
          //結(jié)果:Number {2}
                  __proto__: Number[[PrimitiveValue]]: 2
      
      
      字符串轉(zhuǎn)數(shù)字
          var a = 1;
          var b = '2';
          轉(zhuǎn)換:
          b = Number(b);//這個時候就相當(dāng)于調(diào)用了Number方法,返回一個number類型數(shù)據(jù)
          //a + b 等于 3,number類型
      

      ps:如果b是含有數(shù)字之外的字符,那么無法正常轉(zhuǎn)換,結(jié)果為NaN。

      parseInt()
      去掉小數(shù)點后面的數(shù),轉(zhuǎn)為整數(shù)。
      如果是字符串,也可以轉(zhuǎn),但是得看情況:
          1.parseInt('12px'); // 結(jié)果為12
          2.parseInt('px12'); // 結(jié)果為NaN
      
      parseFloat()
      沒啥用,和parseInt區(qū)別不大。雖然方法名以為是轉(zhuǎn)為浮點數(shù),但是實際效果不會帶有小數(shù)點。
      
      toString()
      一般用于字符串的拼接,obj.toString(1+2+'3d')//33d

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多