• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. JavaScript 學(xué)習(xí)筆記:操作符

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

        JavaScript 學(xué)習(xí)筆記:操作符

          一、一元操作符

        JavaScript 學(xué)習(xí)筆記:操作符

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

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

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

          例:

          復(fù)制代碼 代碼如下:

          

          其中a=i++,相當(dāng)于a=i;i=i+1;

          而b=++j,相當(dāng)于j=j+1;b=j;

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

          復(fù)制代碼 代碼如下:

          

          對整數(shù)而言,一元減相當(dāng)于取負(fù)數(shù)。

          二、位操作符

          1、按位非~ (NOT)

          非,即按二進(jìn)制形式將所有數(shù)字取反。

          常見用法:位運算 NOT 實質(zhì)上是對數(shù)字求負(fù),然后減 1

          2、按位或| (OR)

          或,即按二進(jìn)制形式將所有的數(shù)字與目標(biāo)數(shù)字按位進(jìn)行或操作。

          常見用法:通常用于二進(jìn)制數(shù)字的無條件賦值。例如:一個數(shù)字|1,相當(dāng)于與獲取與當(dāng)前數(shù)字最接近的奇數(shù)。

          3、按位與& (AND)

          與,即按二進(jìn)制形式將所有的數(shù)字與目標(biāo)數(shù)字按位進(jìn)行與操作。

          常見用法:通常用于二進(jìn)制的取位操作,例如:一個數(shù)字&1,如果結(jié)果為0則為偶數(shù),如果為1則為奇數(shù)。

          4、按位異或^ (XOR)

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

          常見用法:xor運算的逆運算是它本身,也就是說兩次異或同一個數(shù)最后結(jié)果不變。可以用于簡單的加密,或交互數(shù)值操作。

          5、左移<<

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

          數(shù)學(xué)意義:在數(shù)字沒有溢出的前提下,對于正數(shù)和負(fù)數(shù),左移一位都相當(dāng)于乘以2的1次方,左移n位就相當(dāng)于乘以2的n次方。

          6、右移

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

          數(shù)學(xué)意義:在數(shù)字沒有溢出的前提下,對于正數(shù)和負(fù)數(shù),右移一位都相當(dāng)于除以2的1次方,右移n位就相當(dāng)于除以2的n次方。

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

          對于正數(shù)來說>>和>>>的結(jié)果是一樣的;

          對負(fù)數(shù)來說,由于負(fù)數(shù)以其絕對值的補碼形式表示,因此會導(dǎo)致無符號右移結(jié)果非常大。

          三、布爾操作符

          1、邏輯非 !

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

          !!相當(dāng)于Boolean()函數(shù)。

          Boolean()轉(zhuǎn)型函數(shù)的一組規(guī)則。

          數(shù)據(jù)類型轉(zhuǎn)換為true的值轉(zhuǎn)換為false的值

          Booleantruefalse

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

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

          Object任何對象null

          Undefined 無undefined

          2、邏輯與&&

          邏輯與有兩個操作數(shù)。

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

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

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

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

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

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

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

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

          復(fù)制代碼 代碼如下:

          var nul = null;

          var na = NaN;

          var test;

          test = na&&nul;

          document.write(test); //NaN

          復(fù)制代碼 代碼如下:

          var nul = null;

          var na = NaN;

          var test;

          test = nul&&na;

          document.write(test); //null

          3、邏輯或||

          邏輯或有兩個操作數(shù)。

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

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

          2. 如果第一個操作數(shù)的結(jié)果是false,則返回第二個操作數(shù);

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

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

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

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

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

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

          例如:var myObject = firstObject||secondObject

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

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【JavaScript 學(xué)習(xí)筆記:操作符】相關(guān)文章:

        JavaScript學(xué)習(xí)筆記08-24

        關(guān)于數(shù)據(jù)類型的Javascript學(xué)習(xí)筆記08-05

        整理Javascript基礎(chǔ)語法學(xué)習(xí)筆記欣賞08-04

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

        對javascript的理解08-08

        常用的JavaScript模式09-22

        Javascript的this用法簡述08-15

        JavaScript 基礎(chǔ)教學(xué)09-29

        JavaScript的課堂講解09-03

        淺談如何深入學(xué)習(xí)Javascript中的this關(guān)鍵字08-19

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 亚洲国产一区二区试看 | 亚洲日韩欧美一区二区三区 | 亚洲精品精品一线久久 | 亚洲人成一区在线网站 | 五月天天天综合久久网 | 午夜福利国产精品久久 |

            JavaScript 學(xué)習(xí)筆記:操作符

              一、一元操作符

            JavaScript 學(xué)習(xí)筆記:操作符

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

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

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

              例:

              復(fù)制代碼 代碼如下:

              

              其中a=i++,相當(dāng)于a=i;i=i+1;

              而b=++j,相當(dāng)于j=j+1;b=j;

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

              復(fù)制代碼 代碼如下:

              

              對整數(shù)而言,一元減相當(dāng)于取負(fù)數(shù)。

              二、位操作符

              1、按位非~ (NOT)

              非,即按二進(jìn)制形式將所有數(shù)字取反。

              常見用法:位運算 NOT 實質(zhì)上是對數(shù)字求負(fù),然后減 1

              2、按位或| (OR)

              或,即按二進(jìn)制形式將所有的數(shù)字與目標(biāo)數(shù)字按位進(jìn)行或操作。

              常見用法:通常用于二進(jìn)制數(shù)字的無條件賦值。例如:一個數(shù)字|1,相當(dāng)于與獲取與當(dāng)前數(shù)字最接近的奇數(shù)。

              3、按位與& (AND)

              與,即按二進(jìn)制形式將所有的數(shù)字與目標(biāo)數(shù)字按位進(jìn)行與操作。

              常見用法:通常用于二進(jìn)制的取位操作,例如:一個數(shù)字&1,如果結(jié)果為0則為偶數(shù),如果為1則為奇數(shù)。

              4、按位異或^ (XOR)

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

              常見用法:xor運算的逆運算是它本身,也就是說兩次異或同一個數(shù)最后結(jié)果不變。可以用于簡單的加密,或交互數(shù)值操作。

              5、左移<<

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

              數(shù)學(xué)意義:在數(shù)字沒有溢出的前提下,對于正數(shù)和負(fù)數(shù),左移一位都相當(dāng)于乘以2的1次方,左移n位就相當(dāng)于乘以2的n次方。

              6、右移

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

              數(shù)學(xué)意義:在數(shù)字沒有溢出的前提下,對于正數(shù)和負(fù)數(shù),右移一位都相當(dāng)于除以2的1次方,右移n位就相當(dāng)于除以2的n次方。

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

              對于正數(shù)來說>>和>>>的結(jié)果是一樣的;

              對負(fù)數(shù)來說,由于負(fù)數(shù)以其絕對值的補碼形式表示,因此會導(dǎo)致無符號右移結(jié)果非常大。

              三、布爾操作符

              1、邏輯非 !

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

              !!相當(dāng)于Boolean()函數(shù)。

              Boolean()轉(zhuǎn)型函數(shù)的一組規(guī)則。

              數(shù)據(jù)類型轉(zhuǎn)換為true的值轉(zhuǎn)換為false的值

              Booleantruefalse

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

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

              Object任何對象null

              Undefined 無undefined

              2、邏輯與&&

              邏輯與有兩個操作數(shù)。

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

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

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

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

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

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

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

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

              復(fù)制代碼 代碼如下:

              var nul = null;

              var na = NaN;

              var test;

              test = na&&nul;

              document.write(test); //NaN

              復(fù)制代碼 代碼如下:

              var nul = null;

              var na = NaN;

              var test;

              test = nul&&na;

              document.write(test); //null

              3、邏輯或||

              邏輯或有兩個操作數(shù)。

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

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

              2. 如果第一個操作數(shù)的結(jié)果是false,則返回第二個操作數(shù);

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

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

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

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

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

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

              例如:var myObject = firstObject||secondObject

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