js 與 與 的區別介紹

2022-09-14 11:27:09 字數 1946 閱讀 3752

在js當中,|,||,&,&&分別代表什麼意思,有什麼區別?

&&和||這個兩個運算子叫做:邏輯運算子

&&:左右兩側為true(條件都成立)時,返回true,否則,返回false,也就是:兩真則真,一假則假。

||:左右兩側有乙個為true(條件乙個成立即可)時,返回true;

只有,左右兩側都為false時,才返回false,也就是:一真則真,兩假則假。

在js中,還有一種特殊的存在,那就是:undefined。

我們在js當中,從頁面取值或者呼叫js物件的時候,經常會遇到undefined,有這樣的需求:

當第乙個值為undefined時,我們讓它取第二個值;當第乙個有值時,我們只取第乙個值,如何實現?

通過邏輯運算子:||可以實現。

效能(速度)方面的特點:

邏輯運算子&& || 中,如果&&的第乙個運算數是false,就不再考慮第二個運算數,直接返回false;

如果||的第乙個運算數是true,也不再考慮第二個運算數,直接返回true。

&和|這個兩個運算子叫做:(逐)位運算子,也就是用來進行位運算的,即:一位一位地進行比較(平常根本用不到,頂多也就是加減乘除這種普通的運算操作)

特點:對兩個二進位制運算元逐位進行比較(如果不是二進位制,會將其轉換成二進位制,再進行逐計算)

由於,js是弱型別語言,所以,它倆也可以進行「邏輯運算」,當用&和|進行"邏輯運算"時,實際上true被轉換成1,false被轉換成0,再進行逐位運算;

即邏輯逐位運算的本質是:逐位運算。

邏輯逐位運算

逐位運算

運算結果

邏輯逐位運算子:'&'

true&true

1&11

true&false

1&00

false&true

0&10

false&false

0&00

邏輯逐位運算子:'|'

true|true

1|11

true|false

1|01

false|true

0|11

false|false

0|00

&運算示例

|運算示例

效能(速度)方面的特點:

&和|運算子,它們總是要比較兩個運算數才得出結果,因而效能上&&和||會比&和|好。

總而言之就是:可以使用&&和||的地方,不要用&和|。

另外,'|'位運算子,還可以對小數進行取整操作,具體格式為:

小數|0
詳細用法介紹:

當小數為正數時,向下取整,相當於:math.floor();

當小數為負數時,向上取整,相當於:math.ceil();

px em rem區別介紹

px畫素 pixel 相對長度單位。畫素px是相對於顯示器螢幕解析度而言的。px特點 em是相對長度單位。相對於當前物件內文字的字型尺寸。如當前對行內文字的字型尺寸未被人為設定,則相對於瀏覽器的預設字型尺寸。em特點 注意 任意瀏覽器的預設字型高都是16px。所有未經調整的瀏覽器都符合 1em 16...

px em rem區別介紹

px畫素 pixel 相對長度單位。畫素px是相對於顯示器螢幕解析度而言的。px特點 ie無法調整那些使用px作為單位的字型大小 國外的大部分 能夠調整的原因在於其使用了em或rem作為字型單位 firefox能夠調整px和em,rem,但是96 以上的中國網民使用ie瀏覽器 或核心 emem是相對...

px em rem區別介紹

px px畫素 pixel 相對長度單位。畫素px是相對於顯示器螢幕解析度而言的。px特點 1.ie無法調整那些使用px作為單位的字型大小 2.國外的大部分 能夠調整的原因在於其使用了em或rem作為字型單位 3.firefox能夠調整px和em,rem,但是96 以上的中國網民使用ie瀏覽器 或核...