2018-11-14 JavaScript數(shù)據(jù)類型與操作等基本概念

數(shù)據(jù)類型

Undefined/Null/Boolean/Number/String五種簡單數(shù)據(jù)類型。
使用typeof操作符可以返回變量或操作數(shù)的類型說明字符串:

字符串 含義
undefined 值未定義
boolean 值是布爾值
string 值是字符串
number 值是數(shù)值
object 值是對象或null
function 值是函數(shù)

Undefined類型(只有一個(gè)值undefined)

使用var聲明變量但未初始化時(shí)此變量的值就是undefined煎楣。

Null類型(只有一個(gè)值null)

null值表示一個(gè)空對象指針豺总,故使用typeof檢測是返回object。
一般聲明變量用于保存對象時(shí)初始化為null择懂,另外喻喳,null == underfined的操作返回true。

Boolean類型(true和false)

存在函數(shù)Boolean(變量名)困曙,轉(zhuǎn)換規(guī)則:

數(shù)據(jù)類型 轉(zhuǎn)為true 轉(zhuǎn)為false
String 任何非空字符串 空字符串
Number 任何非零數(shù)字值 0和NaN
Object 任何對象 null
Undefined not applicable(n/a) undefined
Boolean true false

Number類型(整數(shù)和浮點(diǎn)數(shù))

十進(jìn)制
八進(jìn)制第一位為0表伦,然后是0-7谦去,超出范圍則當(dāng)十進(jìn)制。嚴(yán)格模式下八進(jìn)制無效
十六進(jìn)制以0x開頭

  • 不要以浮點(diǎn)數(shù)運(yùn)算結(jié)果作為判斷條件蹦哼,因?yàn)橛?jì)算精度存在誤差
  • 內(nèi)存限制哪轿,存在數(shù)值范圍,超出范圍則為Infinity或-Infinity翔怎,即正負(fù)無窮窃诉。
  • NaN:任何數(shù)值除以0返回NaN,NaN不等于任何值赤套,不等于自身飘痛。isNaN(變量名)不能轉(zhuǎn)換為數(shù)值則為真。
  • 數(shù)值轉(zhuǎn)換函數(shù):Number(變量)/parseInt(變量容握,可選用于指定進(jìn)制基數(shù))/parseFloat(變量)分別有具體的轉(zhuǎn)換規(guī)則宣脉。

String類型

toString()方法。

Object類型

Object的每個(gè)實(shí)例對象存在的屬性和方法:

Constructor 保存著用于創(chuàng)建當(dāng)前對象的函數(shù)剔氏。
hasOwnProperty(propertyName) 檢查給定的屬性在當(dāng)前實(shí)例對象中是否存在
isPrototyOf(object) 檢查傳入的對象是否是另一個(gè)對象的原型
propertyIsEnumerable(propertyName) 檢查給定的屬性是否能夠作為for-in語句來枚舉
toLocaleString() 返回對象的字符串表示塑猖,該字符串與執(zhí)行環(huán)境的地區(qū)對應(yīng)
toString() 返回對象的字符串表示
valueOf() 返回對象的字符串、數(shù)值或布爾值

操作符

一元操作符(只操作一個(gè)值)

  • 遞增和遞減谈跛,其實(shí)和c一樣吧
  • 一元加和減 羊苟,用于算術(shù)運(yùn)算或轉(zhuǎn)換數(shù)據(jù)類型
  • 位操作符:按位非(操作數(shù)的復(fù)值減一)~、按位與&感憾、按位或|蜡励、按位異或^、左移<<阻桅、有符號的右移>>(保留符號位)凉倚、無符號的右移>>>
  • 布爾操作符:邏輯非、邏輯與嫂沉、邏輯或
例如邏輯非對應(yīng)的規(guī)則 結(jié)果
alert(!false) false
alert(!"string") false
alert(!"") true
alert(!0) true
alert(!123456) false
alert(!NaN) true
  • 乘性操作符:加減乘除
  • 關(guān)系操作符
  • 相等操作符
  • 條件操作符
  • 賦值操作符
  • 逗號操作符
    (以上這些操作符一般都有對應(yīng)的規(guī)則)

語句

  • if語句
  • do-while語句:循環(huán)體中語句至少被執(zhí)行一次
  • while語句
  • for語句
  • for-in語句 可以用來枚舉對象的屬性等
//枚舉BOM中window對象的所有屬性
for(var propName in window){
      document.write(propName);
}
//最后先確認(rèn)被循環(huán)的對象值不是null或undefined稽寒。
  • label語句
    這個(gè)是可以在代碼中添加標(biāo)簽,一遍將來使用的樣子趟章。
//eg://標(biāo)簽由break或continue引用 
start:for(var i=0;i<count;i++){alert(i)}
  • break和continue語句
  • with語句 將代碼的作用域設(shè)置到一個(gè)特定的對象中杏糙。大量使用會(huì)導(dǎo)致性能下降。嚴(yán)格模式下不允許使用尤揣。
  • switch語句 特色是switch可以是任何數(shù)據(jù)類型:字符串搔啊、對象等,case甚至可以是變量或表達(dá)式北戏。比較值時(shí)使用的是全等操作符负芋,因此不會(huì)有類型轉(zhuǎn)換。

函數(shù)

function關(guān)鍵字
不必定義是否返回值
return可以不煩會(huì)任何值,自動(dòng)返回undefined
嚴(yán)格模式有關(guān)鍵字限制
命名參數(shù)只提供便利旧蛾,不是必須莽龟。因?yàn)橐詳?shù)組的形式傳遞,可以用arguments對象像數(shù)組一般訪問锨天。類似重載毯盈,但ECMAscript沒有重載啊。
沒傳遞值的命名參數(shù)自動(dòng)賦予undefined
嚴(yán)格模式對arguments對象有限制病袄,例如設(shè)置了arguments[1]=10搂赋,對應(yīng)位置的命名參數(shù)沒有被傳值的話還是undefined。
同名后定義的函數(shù)覆蓋先定義的函數(shù)啊益缠,沒法重載脑奠。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市幅慌,隨后出現(xiàn)的幾起案子宋欺,更是在濱河造成了極大的恐慌,老刑警劉巖胰伍,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件齿诞,死亡現(xiàn)場離奇詭異,居然都是意外死亡骂租,警方通過查閱死者的電腦和手機(jī)祷杈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來菩咨,“玉大人吠式,你說我怎么就攤上這事〕槊祝” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵糙置,是天一觀的道長云茸。 經(jīng)常有香客問我,道長谤饭,這世上最難降的妖魔是什么标捺? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮揉抵,結(jié)果婚禮上亡容,老公的妹妹穿的比我還像新娘。我一直安慰自己冤今,他們只是感情好闺兢,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著戏罢,像睡著了一般屋谭。 火紅的嫁衣襯著肌膚如雪脚囊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天桐磁,我揣著相機(jī)與錄音悔耘,去河邊找鬼。 笑死我擂,一個(gè)胖子當(dāng)著我的面吹牛衬以,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播校摩,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼看峻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了秧耗?” 一聲冷哼從身側(cè)響起备籽,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎分井,沒想到半個(gè)月后车猬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡尺锚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年珠闰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瘫辩。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伏嗜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出伐厌,到底是詐尸還是另有隱情承绸,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布挣轨,位于F島的核電站军熏,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏卷扮。R本人自食惡果不足惜荡澎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望晤锹。 院中可真熱鬧摩幔,春花似錦、人聲如沸鞭铆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至薇宠,卻和暖如春偷办,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背澄港。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工椒涯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人回梧。 一個(gè)月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓废岂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親狱意。 傳聞我的和親對象是個(gè)殘疾皇子湖苞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容