一、一元運算子
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的值
Boolean true false
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.
以上內容就是本文的全部了,希望對大家能有所幫助

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版
SublimeText3 Linux最新版

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。