JavaScript 基礎(chǔ)知識(shí) 被自己遺忘的
更新時(shí)間:2009年10月15日 22:45:40 作者:
JavaScript 基礎(chǔ)知識(shí) 被自己遺忘的,學(xué)習(xí)的朋友可以參考下。
5%10=5
x="5"+"5";
x="5"+5 ;
document.write(x);(結(jié)果都為﹕55)
undefined是未初始化的變量的值﹐沒(méi)有引用值﹐屬于未定義
var anyway; anyway屬于已定義 有默認(rèn)空值
一元運(yùn)算符﹕delete(刪除對(duì)開(kāi)發(fā)者定義的對(duì)象和方法的引用﹐不能刪除原始的ECMAScript方法)
void 運(yùn)算符對(duì)任何值返回 undefined
沒(méi)有返回值的函數(shù)真正返回的都是 undefined。
一元加法本質(zhì)上對(duì)數(shù)字無(wú)任何影響。
一元加法計(jì)算字符串的方式與 parseInt() 相似
區(qū)別﹕只有一元加法才可以對(duì)八進(jìn)制與十六進(jìn)制形式的字符串(如﹕OxB﹑010)進(jìn)行轉(zhuǎn)換
一元減法計(jì)算字符串﹐將字符串轉(zhuǎn)換成近似的數(shù)字﹐再對(duì)該值求負(fù)
ECMAScript 整數(shù)有兩種類型:有符號(hào)整數(shù)和無(wú)符號(hào)整數(shù)
0 表示正數(shù),1 表示負(fù)數(shù)
正數(shù)是以真二進(jìn)制形式存儲(chǔ)的
負(fù)數(shù)也存儲(chǔ)為二進(jìn)制代碼,采用二進(jìn)制補(bǔ)碼。
計(jì)算數(shù)字二進(jìn)制補(bǔ)碼﹕絕對(duì)值求反加一
在處理有符號(hào)整數(shù)時(shí),開(kāi)發(fā)者不能訪問(wèn) 31 位。
var iNum = -18;
alert(iNum.toString(2));
輸出的是 "-10010"﹐非二進(jìn)制補(bǔ)碼﹐為了避免訪問(wèn)31位
無(wú)符號(hào)整數(shù)的數(shù)值范圍為 0 到 4294967295
把無(wú)符號(hào)整數(shù)轉(zhuǎn)換成字符串后,只返回它們的有效位。
位運(yùn)算 NOT(~)﹐位運(yùn)算 AND﹐位運(yùn)算 OR(|)﹐無(wú)符號(hào)右移運(yùn)算(>>>)
左移運(yùn)算(<<)注意:左移運(yùn)算保留數(shù)字的符號(hào)位
位運(yùn)算 XOR由符號(hào)(^)表示
只有一個(gè)數(shù)位存放的是 1 時(shí),它才返回 1
所有整數(shù)字面量都默認(rèn)存儲(chǔ)為有符號(hào)整數(shù)。
只有 ECMAScript 的位運(yùn)算符才能創(chuàng)建無(wú)符號(hào)整數(shù)。
var iNum1 = 25; //25 等于 00000000000000000000000000011001
var iNum2 = ~iNum1; //轉(zhuǎn)換為 11111111111111111111111111100110
alert(iNum2); //輸出 "-26"
<!-- //-->與老的瀏覽器打交道
/* */多行注釋
邏輯 NOT 運(yùn)算符的行為如下:
* 如果運(yùn)算數(shù)是數(shù)字 0,返回 true
* 如果運(yùn)算數(shù)是 0 以外的任何數(shù)字,返回 false
* 如果運(yùn)算數(shù)是 null,返回 true
* 如果運(yùn)算數(shù)是 NaN,返回 true
* 如果運(yùn)算數(shù)是 undefined,發(fā)生錯(cuò)誤
!!sBlue﹐第一個(gè) NOT 運(yùn)算符返回 Boolean 值。第二個(gè) NOT 將對(duì)該 Boolean 值求負(fù)
邏輯 AND 運(yùn)算并不一定返回 Boolean 值:
* 如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是 Boolean 值,返回該對(duì)象。
* 如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,返回第二個(gè)對(duì)象。
* 如果某個(gè)運(yùn)算數(shù)是 null,返回 null。
* 如果某個(gè)運(yùn)算數(shù)是 NaN,返回 NaN。
與邏輯 AND 運(yùn)算符相似,如果某個(gè)運(yùn)算數(shù)不是 Boolean 值,邏輯 OR 運(yùn)算并不一定返回 Boolean 值:
* 如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是 Boolean 值,返回該對(duì)象。
* 如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,返回第一個(gè)對(duì)象。
* 如果某個(gè)運(yùn)算數(shù)是 null,返回 null。
* 如果某個(gè)運(yùn)算數(shù)是 NaN,返回 NaN。
乘法運(yùn)算符(*)
* 如果結(jié)果太大或太小,那么生成的結(jié)果是 Infinity 或 -Infinity。
* 如果某個(gè)運(yùn)算數(shù)是 NaN,結(jié)果為 NaN。
* Infinity 乘以 0,結(jié)果為 NaN。
* Infinity 乘以 0 以外的任何數(shù)字,結(jié)果為 Infinity 或 -Infinity。
* Infinity 乘以 Infinity,結(jié)果為 Infinity。
除法運(yùn)算符(/)
* 如果某個(gè)運(yùn)算數(shù)是 NaN,結(jié)果為 NaN。
* Infinity 被 Infinity 除,結(jié)果為 NaN。
* Infinity 被任何數(shù)字除,結(jié)果為 Infinity。
* 0 除一個(gè)任何非無(wú)窮大的數(shù)字,結(jié)果為 NaN。
* Infinity 被 0 以外的任何數(shù)字除,結(jié)果為 Infinity 或 -Infinity。
取模運(yùn)算符(%)
* 如果被除數(shù)是 Infinity,或除數(shù)是 0,結(jié)果為 NaN。
* Infinity 被 Infinity 除,結(jié)果為 NaN。
* 如果除數(shù)是無(wú)窮大的數(shù),結(jié)果為被除數(shù)。
* 如果被除數(shù)為 0,結(jié)果為 0。
var bResult = "25" < "3";
兩個(gè)運(yùn)算數(shù)都是字符串,所以比較的是它們的字符代碼,"2" 的字符代碼是 50,"3" 的字符代碼是 51
var bResult = "25" < 3;
字符串 "25" 將被轉(zhuǎn)換成數(shù)字 25,然后與數(shù)字 3 進(jìn)行比較
任何包含 NaN 的關(guān)系運(yùn)算符都要返回 false ("a"<15﹐a調(diào)用parseInt() 返回NaN)
等號(hào)和非等號(hào)用于處理原始值(執(zhí)行前轉(zhuǎn)換成數(shù)字值),全等號(hào)和非全等號(hào)用于處理對(duì)象
執(zhí)行類型轉(zhuǎn)換的規(guī)則如下:
* 如果一個(gè)運(yùn)算數(shù)是 Boolean 值,在檢查相等性之前,把它轉(zhuǎn)換成數(shù)字值。false 轉(zhuǎn)換成 0,true 為 1(true != 2)
* 如果一個(gè)運(yùn)算數(shù)是字符串,另一個(gè)是數(shù)字,在檢查相等性之前,要嘗試把字符串轉(zhuǎn)換成數(shù)字。("5" == 5)
* 如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是字符串,在檢查相等性之前,要嘗試把對(duì)象轉(zhuǎn)換成字符串。
* 如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是數(shù)字,在檢查相等性之前,要嘗試把對(duì)象轉(zhuǎn)換成數(shù)字。
遵守下列規(guī)則:
* 值 null 和 undefined 相等。
* 在檢查相等性時(shí),不能把 null 和 undefined 轉(zhuǎn)換成其他值。(undefined != 0,null != 0)
* 如果某個(gè)運(yùn)算數(shù)是 NaN,等號(hào)將返回 false,非等號(hào)將返回 true。(NaN !=NaN)
* 如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,那么比較的是它們的引用值。如果兩個(gè)運(yùn)算數(shù)指向同一對(duì)象,那么等號(hào)返回 true,否則兩個(gè)運(yùn)算數(shù)不等。
全等號(hào)和非全等號(hào)(不執(zhí)行類型轉(zhuǎn)換)
x="5"+"5";
x="5"+5 ;
document.write(x);(結(jié)果都為﹕55)
undefined是未初始化的變量的值﹐沒(méi)有引用值﹐屬于未定義
var anyway; anyway屬于已定義 有默認(rèn)空值
一元運(yùn)算符﹕delete(刪除對(duì)開(kāi)發(fā)者定義的對(duì)象和方法的引用﹐不能刪除原始的ECMAScript方法)
void 運(yùn)算符對(duì)任何值返回 undefined
沒(méi)有返回值的函數(shù)真正返回的都是 undefined。
一元加法本質(zhì)上對(duì)數(shù)字無(wú)任何影響。
一元加法計(jì)算字符串的方式與 parseInt() 相似
區(qū)別﹕只有一元加法才可以對(duì)八進(jìn)制與十六進(jìn)制形式的字符串(如﹕OxB﹑010)進(jìn)行轉(zhuǎn)換
一元減法計(jì)算字符串﹐將字符串轉(zhuǎn)換成近似的數(shù)字﹐再對(duì)該值求負(fù)
ECMAScript 整數(shù)有兩種類型:有符號(hào)整數(shù)和無(wú)符號(hào)整數(shù)
0 表示正數(shù),1 表示負(fù)數(shù)
正數(shù)是以真二進(jìn)制形式存儲(chǔ)的
負(fù)數(shù)也存儲(chǔ)為二進(jìn)制代碼,采用二進(jìn)制補(bǔ)碼。
計(jì)算數(shù)字二進(jìn)制補(bǔ)碼﹕絕對(duì)值求反加一
在處理有符號(hào)整數(shù)時(shí),開(kāi)發(fā)者不能訪問(wèn) 31 位。
var iNum = -18;
alert(iNum.toString(2));
輸出的是 "-10010"﹐非二進(jìn)制補(bǔ)碼﹐為了避免訪問(wèn)31位
無(wú)符號(hào)整數(shù)的數(shù)值范圍為 0 到 4294967295
把無(wú)符號(hào)整數(shù)轉(zhuǎn)換成字符串后,只返回它們的有效位。
位運(yùn)算 NOT(~)﹐位運(yùn)算 AND﹐位運(yùn)算 OR(|)﹐無(wú)符號(hào)右移運(yùn)算(>>>)
左移運(yùn)算(<<)注意:左移運(yùn)算保留數(shù)字的符號(hào)位
位運(yùn)算 XOR由符號(hào)(^)表示
只有一個(gè)數(shù)位存放的是 1 時(shí),它才返回 1
所有整數(shù)字面量都默認(rèn)存儲(chǔ)為有符號(hào)整數(shù)。
只有 ECMAScript 的位運(yùn)算符才能創(chuàng)建無(wú)符號(hào)整數(shù)。
var iNum1 = 25; //25 等于 00000000000000000000000000011001
var iNum2 = ~iNum1; //轉(zhuǎn)換為 11111111111111111111111111100110
alert(iNum2); //輸出 "-26"
<!-- //-->與老的瀏覽器打交道
/* */多行注釋
邏輯 NOT 運(yùn)算符的行為如下:
* 如果運(yùn)算數(shù)是數(shù)字 0,返回 true
* 如果運(yùn)算數(shù)是 0 以外的任何數(shù)字,返回 false
* 如果運(yùn)算數(shù)是 null,返回 true
* 如果運(yùn)算數(shù)是 NaN,返回 true
* 如果運(yùn)算數(shù)是 undefined,發(fā)生錯(cuò)誤
!!sBlue﹐第一個(gè) NOT 運(yùn)算符返回 Boolean 值。第二個(gè) NOT 將對(duì)該 Boolean 值求負(fù)
邏輯 AND 運(yùn)算并不一定返回 Boolean 值:
* 如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是 Boolean 值,返回該對(duì)象。
* 如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,返回第二個(gè)對(duì)象。
* 如果某個(gè)運(yùn)算數(shù)是 null,返回 null。
* 如果某個(gè)運(yùn)算數(shù)是 NaN,返回 NaN。
與邏輯 AND 運(yùn)算符相似,如果某個(gè)運(yùn)算數(shù)不是 Boolean 值,邏輯 OR 運(yùn)算并不一定返回 Boolean 值:
* 如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是 Boolean 值,返回該對(duì)象。
* 如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,返回第一個(gè)對(duì)象。
* 如果某個(gè)運(yùn)算數(shù)是 null,返回 null。
* 如果某個(gè)運(yùn)算數(shù)是 NaN,返回 NaN。
乘法運(yùn)算符(*)
* 如果結(jié)果太大或太小,那么生成的結(jié)果是 Infinity 或 -Infinity。
* 如果某個(gè)運(yùn)算數(shù)是 NaN,結(jié)果為 NaN。
* Infinity 乘以 0,結(jié)果為 NaN。
* Infinity 乘以 0 以外的任何數(shù)字,結(jié)果為 Infinity 或 -Infinity。
* Infinity 乘以 Infinity,結(jié)果為 Infinity。
除法運(yùn)算符(/)
* 如果某個(gè)運(yùn)算數(shù)是 NaN,結(jié)果為 NaN。
* Infinity 被 Infinity 除,結(jié)果為 NaN。
* Infinity 被任何數(shù)字除,結(jié)果為 Infinity。
* 0 除一個(gè)任何非無(wú)窮大的數(shù)字,結(jié)果為 NaN。
* Infinity 被 0 以外的任何數(shù)字除,結(jié)果為 Infinity 或 -Infinity。
取模運(yùn)算符(%)
* 如果被除數(shù)是 Infinity,或除數(shù)是 0,結(jié)果為 NaN。
* Infinity 被 Infinity 除,結(jié)果為 NaN。
* 如果除數(shù)是無(wú)窮大的數(shù),結(jié)果為被除數(shù)。
* 如果被除數(shù)為 0,結(jié)果為 0。
var bResult = "25" < "3";
兩個(gè)運(yùn)算數(shù)都是字符串,所以比較的是它們的字符代碼,"2" 的字符代碼是 50,"3" 的字符代碼是 51
var bResult = "25" < 3;
字符串 "25" 將被轉(zhuǎn)換成數(shù)字 25,然后與數(shù)字 3 進(jìn)行比較
任何包含 NaN 的關(guān)系運(yùn)算符都要返回 false ("a"<15﹐a調(diào)用parseInt() 返回NaN)
等號(hào)和非等號(hào)用于處理原始值(執(zhí)行前轉(zhuǎn)換成數(shù)字值),全等號(hào)和非全等號(hào)用于處理對(duì)象
執(zhí)行類型轉(zhuǎn)換的規(guī)則如下:
* 如果一個(gè)運(yùn)算數(shù)是 Boolean 值,在檢查相等性之前,把它轉(zhuǎn)換成數(shù)字值。false 轉(zhuǎn)換成 0,true 為 1(true != 2)
* 如果一個(gè)運(yùn)算數(shù)是字符串,另一個(gè)是數(shù)字,在檢查相等性之前,要嘗試把字符串轉(zhuǎn)換成數(shù)字。("5" == 5)
* 如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是字符串,在檢查相等性之前,要嘗試把對(duì)象轉(zhuǎn)換成字符串。
* 如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是數(shù)字,在檢查相等性之前,要嘗試把對(duì)象轉(zhuǎn)換成數(shù)字。
遵守下列規(guī)則:
* 值 null 和 undefined 相等。
* 在檢查相等性時(shí),不能把 null 和 undefined 轉(zhuǎn)換成其他值。(undefined != 0,null != 0)
* 如果某個(gè)運(yùn)算數(shù)是 NaN,等號(hào)將返回 false,非等號(hào)將返回 true。(NaN !=NaN)
* 如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,那么比較的是它們的引用值。如果兩個(gè)運(yùn)算數(shù)指向同一對(duì)象,那么等號(hào)返回 true,否則兩個(gè)運(yùn)算數(shù)不等。
全等號(hào)和非全等號(hào)(不執(zhí)行類型轉(zhuǎn)換)
您可能感興趣的文章:
- javascript之正則表達(dá)式基礎(chǔ)知識(shí)小結(jié)
- JavaScript 語(yǔ)言基礎(chǔ)知識(shí)點(diǎn)總結(jié)(思維導(dǎo)圖)
- extjs 學(xué)習(xí)筆記(一) 一些基礎(chǔ)知識(shí)
- javascript DOM 操作基礎(chǔ)知識(shí)小結(jié)
- 7個(gè)JS基礎(chǔ)知識(shí)總結(jié)
- Angularjs基礎(chǔ)知識(shí)及示例匯總
- javascript學(xué)習(xí)筆記(一)基礎(chǔ)知識(shí)
- JavaScript基礎(chǔ)知識(shí)之?dāng)?shù)據(jù)類型
- javascript真的不難-回顧一下基礎(chǔ)知識(shí)
- 需要牢記的JavaScript基礎(chǔ)知識(shí)
相關(guān)文章
Javascript基礎(chǔ)知識(shí)(一)核心基礎(chǔ)語(yǔ)法與事件模型
這篇文章主要介紹了Javascript用途及語(yǔ)法,傳統(tǒng)事件及現(xiàn)代事件,是最近這段時(shí)間個(gè)人學(xué)習(xí)javascript的一些心得,分享給大家,有需要的朋友可以參考下2014-09-09uniapp返回上一頁(yè)執(zhí)行上一頁(yè)方法解決方案
這篇文章主要給大家介紹了關(guān)于uniapp返回上一頁(yè)執(zhí)行上一頁(yè)方法解決方案,在UniApp中可以通過(guò)uni.navigateBack()方法返回上一個(gè)頁(yè)面,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08深入理解JavaScript系列(37):設(shè)計(jì)模式之享元模式詳解
這篇文章主要介紹了深入理解JavaScript系列(37):設(shè)計(jì)模式之享元模式詳解,享元模式(Flyweight),運(yùn)行共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象,避免大量擁有相同內(nèi)容的小類的開(kāi)銷(如耗費(fèi)內(nèi)存),使大家共享一個(gè)類(元類),需要的朋友可以參考下2015-03-03JavaScript的三大前端框架Vue和Angular和React
這篇文章主要為大家介紹了JavaScript的三大前端框架Vue和Angular和React,文章中有詳細(xì)的代碼示例,有需要的朋友可以借鑒參考下,2023-04-04JavaScript正則表達(dá)式之multiline屬性的應(yīng)用
這篇文章主要介紹了JavaScript正則表達(dá)式之multiline屬性的應(yīng)用,是JS學(xué)習(xí)進(jìn)階中的重要知識(shí),需要的朋友可以參考下2015-06-06javascript中的對(duì)象和數(shù)組的應(yīng)用技巧
javascript中的對(duì)象和數(shù)組的應(yīng)用技巧...2007-01-01JavaScript高級(jí)程序設(shè)計(jì)(第3版)學(xué)習(xí)筆記6 初識(shí)js對(duì)象
砌好墻,下面出場(chǎng)的就是房子了,在ECMAScript中,對(duì)象就是我們所說(shuō)的房子,至于你所寫的整個(gè)應(yīng)用程序,那就是一整套建筑群了2012-10-10