第3章克握、基本概念

3.1 語法

ECMAScript中的一切變量名和操作符都區(qū)分大小寫。

標識符:變量枷踏、函數(shù)菩暗、屬性的名字,或者函數(shù)的參數(shù)旭蠕。第一個字符必須是字母停团、下劃線(_)或者一個美元符號($)旷坦。使用駝峰式大小寫。

// 這是單行注釋

/*
 * 這是多行注釋
 *
 */

在整個腳本頂部添加"use strict"佑稠,整個腳本進入嚴格模式秒梅,在函數(shù)頂部添加"use strict",函數(shù)進入嚴格模式舌胶。


3.2 變量

ECMAScript的變量是松散類型的捆蜀,可以用來保存任何類型的數(shù)據(jù),使用var操作符后跟變量名來定義變量幔嫂。

var massage;
// 未經(jīng)過初始化的變量會保存一個特殊的值undefined辆它。

省略var操作符的變量會變成全局變量。


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

對一個值使用typeof操作符可以判斷其類型:
未定義值返回undefined婉烟;
布爾值返回boolean娩井;
字符串返回string;
數(shù)值返回number似袁;
對象或者null返回object洞辣;(null被認為是一個空對象的引用)
函數(shù)返回functiion;

3.3.1 Null類型和Undefined類型
null == undefined // true 因為undefined值是派生自null的昙衅,所以相等性測試返回true

任何非空字符串 == true扬霜,"" == false;
任何非0數(shù)字 == true而涉,0和NaN == false著瓶;
任何對象 == true, null == false啼县;
undefined ==false 材原。

3.3.2 數(shù)值類型

數(shù)字中最大值為 Number.MAX_VALUE,最小值為 Number.MIN_VALUE季眷,使用isFinite()函數(shù)判斷一個數(shù)值是否位于最大最小值之間余蟹。

NaN表示一個本來要返回數(shù)值的操作但未返回數(shù)值的情況。

NaN == NaN // false

使用isNaN()可以判斷一個參數(shù)是否“不是數(shù)值”子刮,傳入?yún)?shù)后威酒,會對參數(shù)進行類型轉(zhuǎn)換,任何不能被轉(zhuǎn)換成數(shù)值的參數(shù)都將使這個函數(shù)返回ture挺峡。

3個函數(shù)可以將非數(shù)值轉(zhuǎn)化為數(shù)值葵孤,Number(),parseInt()橱赠,parseFloat()尤仍。第一個可以轉(zhuǎn)化任何類型,后兩個主要用于轉(zhuǎn)化字符串狭姨。由于Number()在轉(zhuǎn)化字符串時過于復雜且不夠合理宰啦,在處理整數(shù)時一般使用parseInt()鲤嫡。

parseInt()在轉(zhuǎn)換字符串時,會忽略字符串前面的空格绑莺,直到找到第一個非空格字符暖眼,如果第一個字符不是數(shù)字字符或者負號,則返回NaN纺裁,如果第一個字符是數(shù)字字符诫肠,則繼續(xù)解析,直到解析完所有字符或者遇到了一個非數(shù)字字符(小數(shù)點之后的不會被解析欺缘,因為小數(shù)點也是非數(shù)字字符)栋豫。parseInt()還支持第二個參數(shù),表示轉(zhuǎn)換時的進制單位谚殊。

parseInt("AF"); // NaN  默認按10進制轉(zhuǎn)化丧鸯,"AF"是非數(shù)字字符
parseInt("AF",16); // 175 按16進制轉(zhuǎn)化

parseFloat()轉(zhuǎn)化與parseInt()類似,區(qū)別在于解析到遇見一個無效的浮點數(shù)字字符為止嫩絮,即只有第一個小數(shù)點會被解析丛肢。

3.3.3 String類型

ECMAScript中雙引號和單引號表示的字符串完全相同,但左右引號必須匹配剿干。

String類型包含一些特殊的字符字面量蜂怎,用\開頭表示,例如:\n置尔,\r

字符串的長度可以使用length屬性取得

var text = "abc";
console.log(text.length); // 3

數(shù)值杠步,布爾值,對象和字符串值都有toString()方法榜轿,此方法返回相應值的字符串表現(xiàn)幽歼。null和undefined沒有此方法。默認情況下以十進制格式返回數(shù)值的字符串表示谬盐,傳入進制參數(shù)可以按照其他進制單位返回甸私。

var a = 10;
console.log(a.toString()); // "10"
console.log(a.toString(2)); // "1010"

無法確定值是不是null和undefined時可以使用轉(zhuǎn)型函數(shù)String(),傳入?yún)?shù)如果有toString()方法设褐,則返回toString()方法的值颠蕴,如果為null則返回"null"泣刹,如果為undefined則返回"undefined"助析。

3.3.4 Object類型

ECMAScript中對象是一組數(shù)據(jù)和功能的集合。Object類型是所有它的實例的基礎椅您,Object類型所具有的任何屬性和方法也同樣存在于更具體的對象中外冀。
Object類型的每個實例都有下列屬性和方法:
constructor:保存用于創(chuàng)建當前對象的函數(shù)。
hasOwnProperty():用于檢查給定屬性在當前對象實例上是否存在掀泳,而不是存在于原型中雪隧。傳入?yún)?shù)為屬性名的字符串西轩。
isPrototypeOf():用于檢查傳入的參數(shù)對象是否存在于調(diào)用該方法對象的原型鏈上。
propertyIsEnumerable():用于檢查傳入的參數(shù)屬性是否能夠使用for-in枚舉脑沿。
toLocaleString():返回對象的字符串表示藕畔,與執(zhí)行環(huán)境的地區(qū)對應。
toString():返回對象字符串表示庄拇。
valueOf():返回對象的字符串注服、數(shù)值或布爾值表示,通常與toString方法返回值相同措近。

3.4 函數(shù)

函數(shù)不必指定返回值溶弟,任何函數(shù)任何時候都可以通過ruturn語句后跟要返回的值來實現(xiàn)返回值,執(zhí)行完return語句之后函數(shù)會停止并立即退出瞭郑,即return之后的語句不會被執(zhí)行辜御。不帶任何值的return語句將返回undefined。

函數(shù)參數(shù)在內(nèi)部使用一個類似數(shù)組來表示屈张,通過arguments對象來訪問這個參數(shù)數(shù)組擒权。arguments對象的長度由傳入時的參數(shù)個數(shù)決定,不是由定義函數(shù)時的參數(shù)個數(shù)決定阁谆。沒有傳遞值的命名參數(shù)將自動被賦予undefined值菜拓,通過檢查傳入函數(shù)中參數(shù)的類型和數(shù)量并作出不同反應,可以模仿方法的重載笛厦。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末纳鼎,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子裳凸,更是在濱河造成了極大的恐慌贱鄙,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姨谷,死亡現(xiàn)場離奇詭異逗宁,居然都是意外死亡,警方通過查閱死者的電腦和手機梦湘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門瞎颗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捌议,你說我怎么就攤上這事哼拔。” “怎么了瓣颅?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵倦逐,是天一觀的道長。 經(jīng)常有香客問我宫补,道長檬姥,這世上最難降的妖魔是什么曾我? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮健民,結果婚禮上抒巢,老公的妹妹穿的比我還像新娘。我一直安慰自己秉犹,他們只是感情好虐秦,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著凤优,像睡著了一般悦陋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上筑辨,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天俺驶,我揣著相機與錄音,去河邊找鬼棍辕。 笑死暮现,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的楚昭。 我是一名探鬼主播栖袋,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼抚太!你這毒婦竟也來了塘幅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤尿贫,失蹤者是張志新(化名)和其女友劉穎电媳,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體庆亡,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡匾乓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了又谋。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拼缝。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖彰亥,靈堂內(nèi)的尸體忽然破棺而出咧七,到底是詐尸還是另有隱情,我是刑警寧澤剩愧,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布猪叙,位于F島的核電站娇斩,受9級特大地震影響仁卷,放射性物質(zhì)發(fā)生泄漏穴翩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一锦积、第九天 我趴在偏房一處隱蔽的房頂上張望芒帕。 院中可真熱鬧,春花似錦丰介、人聲如沸背蟆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽带膀。三九已至,卻和暖如春橙垢,著一層夾襖步出監(jiān)牢的瞬間垛叨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工柜某, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嗽元,地道東北人。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓喂击,卻偏偏與公主長得像剂癌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子翰绊,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361

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

  • 3.1 語法 3.1.1 區(qū)分大小寫 test和Test表示兩個不同的變量 3.1.2 標識符 標識符:指變量佩谷,函...
    __越過山丘__閱讀 194評論 0 0
  • 什么是 JavaScript 語言? JavaScript 是一種輕量級的腳本語言监嗜。所謂“腳本語言”(script...
    oWSQo閱讀 1,790評論 0 1
  • 一個喜歡畫畫的畫畫小白琳要,希望通過多加練習可以畫的越來越好
    吃辣椒不吐辣椒皮閱讀 249評論 3 3
  • 昨天,興致一來做了一份自己學院的簡介秤茅,不少朋友都希望我推出一篇教程稚补。 其實,今天坐了一天的大巴框喳,還是堅持為大家還原...
    偉崇PPT閱讀 2,851評論 5 17
  • 2008年课幕,就在雷曼兄弟倒閉之前,曾委托了一家咨詢公司調(diào)查未來銀行業(yè)的發(fā)展五垮。咨詢公司得出的結論是:因為銀行放款太多...
    出口陳璋閱讀 519評論 1 2