<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • JavaScript 學習筆記:操作符

    時間:2024-08-13 00:53:07 JavaScript 我要投稿
    • 相關推薦

    JavaScript 學習筆記:操作符

      一、一元操作符

    JavaScript 學習筆記:操作符

      1、自增自減操作符:分為前置型和后置型;

      前置型:++a;--a;

      后置型:a++;a--;

      例:

      復制代碼 代碼如下:

      

      其中a=i++,相當于a=i;i=i+1;

      而b=++j,相當于j=j+1;b=j;

      2、一元加減操作符:a=+i;a=-i;

      復制代碼 代碼如下:

      

      對整數而言,一元減相當于取負數。

      二、位操作符

      1、按位非~ (NOT)

      非,即按二進制形式將所有數字取反。

      常見用法:位運算 NOT 實質上是對數字求負,然后減 1

      2、按位或| (OR)

      或,即按二進制形式將所有的數字與目標數字按位進行或操作。

      常見用法:通常用于二進制數字的無條件賦值。例如:一個數字|1,相當于與獲取與當前數字最接近的奇數。

      3、按位與& (AND)

      與,即按二進制形式將所有的數字與目標數字按位進行與操作。

      常見用法:通常用于二進制的取位操作,例如:一個數字&1,如果結果為0則為偶數,如果為1則為奇數。

      4、按位異或^ (XOR)

      異或,即按二進制形式將所有數字與目標數字對比,只有兩個數字不相同即只有一個數位存放的是1的時候返回1,如兩個數字相同返回0.

      常見用法:xor運算的逆運算是它本身,也就是說兩次異或同一個數最后結果不變?梢杂糜诤唵蔚募用,或交互數值操作。

      5、左移<<

      左移,即按二進制形式把所有的數字向左移動對應的位數,高位移出(舍棄),低位的空位補零。左移不會影響符號位。

      數學意義:在數字沒有溢出的前提下,對于正數和負數,左移一位都相當于乘以2的1次方,左移n位就相當于乘以2的n次方。

      6、右移

      6.1有符號的右移>>:即按二進制形式把所有的數值向右移動但是保留符號位。

      數學意義:在數字沒有溢出的前提下,對于正數和負數,右移一位都相當于除以2的1次方,右移n位就相當于除以2的n次方。

      6.2無符號的右移>>>:即按二進制形式把所有的數值,包括符號位都向右移動。

      對于正數來說>>和>>>的結果是一樣的;

      對負數來說,由于負數以其絕對值的補碼形式表示,因此會導致無符號右移結果非常大。

      三、布爾操作符

      1、邏輯非 !

      邏輯非用!表示,可以應用與ECMAScript的任何類型的值,邏輯非操作返回的是一個布爾值(true/false)。該操作符首先會將它的操作數轉換為一個布爾值,然后再對其求反.

      !相當于Boolean()函數。

      Boolean()轉型函數的一組規則。

      數據類型轉換為true的值轉換為false的值

      Booleantruefalse

      String任何非空字符串""(空字符串)

      Number任何非零數字值(包括無窮大)0和NaN

      Object任何對象null

      Undefined 無undefined

      2、邏輯與&&

      邏輯與有兩個操作數。

      邏輯與操作可以應用于任何類型的操作數,而不僅僅是布爾值。在有一個操作數不是布爾值的情況下,邏輯與操作就不一定返回布爾值;此時,它遵循一下規則:

      1. 如果第一個操作數是對象,則返回第二個操作數;

      2. 如果第二個操作數是對象,則只有在第一個操作數的求值結果為true的情況下才會返回該對象;

      3. 如果兩個操作符都是對象,則返回第二個操作數; 遵循第一規則。

      4. 如果有一個操作數是null,則返回null;

      5. 如果有一個操作數是NaN,則返回NaN;

      6. 如果有一個操作數是undefined,則返回undefined。

      邏輯與操作屬于短路操作,即如果第一操作數能夠決定結果,那么就不會再對第二個操作數求值。(可以理解為內部的兩個return操作)。因此當4、5、6規則沖突時,遵循短路操作原則。

      復制代碼 代碼如下:

      var nul = null;

      var na = NaN;

      var test;

      test = na&&nul;

      document.write(test); //NaN

      復制代碼 代碼如下:

      var nul = null;

      var na = NaN;

      var test;

      test = nul&&na;

      document.write(test); //null

      3、邏輯或||

      邏輯或有兩個操作數。

      邏輯或與邏輯與相似,操作可以應用于任何類型的操作數,而不僅僅是布爾值。在有一個操作數不是布爾值的情況下,邏輯或操作就不一定返回布爾值;此時,它遵循一下規則:

      1. 如果第一個操作數是對象,則返回第一個操作數;

      2. 如果第一個操作數的結果是false,則返回第二個操作數;

      3. 如果兩個操作符都是對象,則返回第一個操作數,遵循第一條規則。

      4. 如果兩個操作數都是null,則返回null;

      5. 如果兩個操作數都是NaN,則返回NaN;

      6. 如果兩個操作數都是undefined,則返回undefined。

      邏輯或操作屬于短路操作,即如果第一操作數結果為true,那么就不會再對第二個操作數求值。

      我們可以利用邏輯或的這個特性來避免為變量賦null或undefined的值

      例如:var myObject = firstObject||secondObject

      如果firstObject不是null,則firstObject被賦值給myObject,否則將secondObject的值賦給myObject.

    【JavaScript 學習筆記:操作符】相關文章:

    JavaScript學習筆記08-24

    關于數據類型的Javascript學習筆記08-05

    整理Javascript基礎語法學習筆記欣賞08-04

    JavaScript學習歷程和心得范文(精選10篇)02-13

    對javascript的理解08-08

    常用的JavaScript模式09-22

    Javascript的this用法簡述08-15

    JavaScript 基礎教學09-29

    JavaScript的課堂講解09-03

    淺談如何深入學習Javascript中的this關鍵字08-19

    主站蜘蛛池模板: 潮喷大喷水系列无码久久精品| 国产美女久久精品香蕉69| 亚洲欧美国产∧v精品综合网 | 亚洲欧洲国产精品你懂的| 无码人妻精品中文字幕免费| 国产精品欧美久久久久无广告 | 国产精品视频网站你懂得| 尤物国精品午夜福利视频| 国产精品亚洲αv天堂无码| 热99re久久国超精品首页| 精品国产一区二区三区色欲 | 亚洲国产精品成| 69久久夜色精品国产69| 人妻少妇精品视频一区二区三区| 四虎精品亚洲一区二区三区| 国产精品香蕉在线观看| 91精品国产福利在线观看麻豆| 99精品一区二区三区无码吞精 | 成人精品视频在线观看| 精品无码人妻一区二区三区品 | 国产精品视频九九九| 99久久精品这里只有精品| 久久精品国产免费一区| 国产精品成人va在线观看| 国产精品日韩欧美一区二区三区| 中文精品久久久久人妻不卡| 亚洲精品国产电影| 亚洲精品视频在线看| 久久精品国产WWW456C0M| 精品欧美一区二区在线看片| 国产一区二区精品久久凹凸| 国产在线精品一区免费香蕉| 国产成人精品久久一区二区三区av | 久久狠狠高潮亚洲精品 | 亚洲国产精品va在线播放| 亚洲AV第一页国产精品| 亚洲国产精品久久电影欧美| 久久这里只有精品18| 国产精品99精品久久免费| 国产精品久久自在自线观看| 欧洲精品视频在线观看|