深入了解javascript(一)

前端瞬息萬變,但萬變不離其宗墨微,這個“宗”指的就是javascript,很多現(xiàn)在很熱門的框架扁掸,比如angluar.js翘县、vue.js、jquery都是基于javascript谴分。我承認(rèn)我手動敲代碼的能力有點薄弱锈麸,尤其是javascript這塊,不想一直重復(fù)造輪子牺蹄,所以才想深入js

1忘伞、嚴(yán)格模式與混雜模式的區(qū)別

嚴(yán)格模式:又稱標(biāo)準(zhǔn)模式,是瀏覽器按照w3c標(biāo)準(zhǔn)解析代碼

混雜模式:又稱兼容模式沙兰,瀏覽器用自己的方式解析代碼

h5并無嚴(yán)格模式與混雜模式之分氓奈,因為它的文檔的聲明是這樣的<!DOCTYPE ?html>,沒有dtd


其實現(xiàn)在是用h5了鼎天,所以很少聽到說嚴(yán)格模式與混雜模式之分舀奶,因為最近在深入js,書上總是提到嚴(yán)格模式斋射,所以我不得不去了解下育勺,記住一點嚴(yán)格模式就是瀏覽器按照w3c的標(biāo)準(zhǔn)去解析代碼

2但荤、<noscript></noscript>的作用,如果當(dāng)前瀏覽器不支持腳本或者該瀏覽器禁用了腳本

我們可以使用noscript來寫內(nèi)容涧至,可以在上面說的兩種情況下呈現(xiàn)纱兑,但是對于支持腳本的瀏覽器則是無效的,不會顯示noscript里面的內(nèi)容

3化借、script 的defer屬性可以讓當(dāng)前該腳本在文檔呈現(xiàn)之后再執(zhí)行腳本(好像并沒有什么用),async屬性表示當(dāng)前腳本不必等其他腳本,也不會阻塞其他腳本(好像很少用到,不過這些知識還是知道的好)

4、一個關(guān)于ECMAscript的變量的問題(劃重點)捡多,用var定義的變量在該函數(shù)的作用域當(dāng)中是局部變量蓖康,離開該函數(shù)的作用域之后,變量就會被銷毀

如:function test(){

var message = “hi";//局部變量

}

test();

alert(message);//錯誤

如:function test(){

?message = “hi";//局部變量(不推薦省略var 來定義全局變量垒手,因為局部作用域中定義的全部變量很難維護(hù)蒜焊,況且在嚴(yán)格模式下給未聲明的變量賦值會拋出一個ReferenceError錯誤,那在哪里定義全局變量呢科贬,當(dāng)然是函數(shù)外面拉)

}

test();

alert(message);//hi

5泳梆、數(shù)據(jù)類型,undefined榜掌、boolean优妙、string、number憎账、object套硼、null,這里特別強(qiáng)調(diào)的是undefined胞皱,是使用var關(guān)鍵字聲明但是并沒有初始化(重點重點)邪意,之前我以為就是沒有聲明就是返回undefined,誰知理解錯誤

比如 var message反砌; alert(message)雾鬼;//undefined

6、null指針是一個特殊的對象(object)宴树,不得不提null與undefined的區(qū)別策菜,,undefined是派生自null的森渐,null是要要保存對象但是并沒有真正的保存對象做入,undefined與null的意思很相近,但還是有些細(xì)微的差別同衣,比如轉(zhuǎn)化為數(shù)值的是后竟块,undefined是NaN(not a number非數(shù)值),null是0耐齐±嗣兀看了阮一峰的日志蒋情,總結(jié)到,null表示”此處沒有值“耸携,而undefined表示”此處有值棵癣,但還沒有定義“


http://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html阮一峰關(guān)于undefined與null的區(qū)別的日志,想了解得更清楚可以參考下

6夺衍、isNaN方法的意思狈谊,能轉(zhuǎn)化為數(shù)值返回flase,不能轉(zhuǎn)化數(shù)值返回ture

? 比如alert(isNaN("NaN")) //不能轉(zhuǎn)化為數(shù)值沟沙,返回值是ture河劝,同樣的alert(isNaN("blue")也返回true

而alert(isNaN("true"I)//可以轉(zhuǎn)化0,alert(isNaN(”10“))//可以轉(zhuǎn)化數(shù)值10,返回f都是false

7、數(shù)值轉(zhuǎn)換的方法parseInt()矛紫、parseFloat()赎瞎、Number()

如果是布爾型,則返回1颊咬、0务甥;如果是數(shù)字型,則只是簡單傳入與返回喳篇;如果是null則返回0敞临;如果是undefined則返回NaN;如果是數(shù)字型的字符串杭隙,則返回數(shù)字哟绊,如果是進(jìn)制的數(shù)字則返回相同大小的十進(jìn)制,其他類型的字符串則返回NaN(非數(shù)字)

8痰憎、一元操作符的注意事項票髓,比如說 ?var n=’z'; ? var s1='2'; ? s1++ //變成數(shù)值型的3,而n++//返回NaN

9、按位異或(如果兩個都是1或者都是0的話返回0铣耘,其他的返回1洽沟。按照我們高中老師的說法,性別相同的人生不出孩子蜗细,有點小污~~~~)?

10裆操、==與===的區(qū)別==只會判斷值是否相等,而===會判斷值和類型是否一致

比如undefined==null 返回true炉媒,因為它們會返回類似的值

null===undefined會false踪区,因為他們是不同類型的值

11、label語句label:statement

比如start:for ( var i=0; i<count; i++){ alert(i); } ? ? ?start可以用break或者continue引用吊骤,加標(biāo)簽的語句一般與for語句配合使用(講真缎岗,以前看不懂這種寫法)

12、with語句:作用是將代碼的作用域設(shè)置到一個特定的對象當(dāng)中 with(expression)statement白粉;

比如:var qs=location.search.substring(1);

? ? ? ? var ?hostname=loaction.hostname;

? ? ? ? var url = location.href;

上面的代碼都包含了location對象传泊,使用with語句可以這么做

with(location){

var qs = search.substring(1);

var ?hostname = hostname;

var url = ?href;

}(使用了with語句關(guān)聯(lián)了location對象)嚴(yán)格模式當(dāng)中不允許使用with語句鼠渺,否則將視為語法錯誤

使用大量的with語句會導(dǎo)致性能下降,因此在大型的項目開發(fā)當(dāng)中不建議使用with語句

13眷细、參數(shù)

ECMAscript不介意傳遞進(jìn)來多少個參數(shù)拦盹,也不介意參數(shù)的類型,之所以這樣溪椎,是因為ECMAscript的參數(shù)是用一個數(shù)組表示的普舆,在函數(shù)體可以通過arguments對象去訪問這個數(shù)組,從而獲取每一個參數(shù)校读,他并不是數(shù)組的實例奔害,只是與數(shù)組類似颤诀,比如訪問第一個參數(shù)arguments[0],arguments[1]...

比如:function doAdd(){

? if(arguments.length == 1) alert(arguments[0]+10);

}else if(arguments.length ==2 ) alert(arguments[0]+arguements[1]);

}

doAdd(10); ? //20 因為只有一個參數(shù)

doAdd(20,30); ? ?//50 因為有兩個參數(shù)

14折剃、ECMAscript沒有重載(不能向其他語言一樣比如java捶障,重載的意思就是為一個函數(shù)編寫兩個定義,只要這兩個函數(shù)定義的簽名(接受的類型和數(shù)量)不同即可端考,但是是ECMAscript沒有簽名,因此無法真正的重載

比如 ?function sum1(num){ ? ? return num+100 ; ?}

? function sum1(num ) { ? return num+200揭厚; ?}

var result = sum1(100); //300




留下兩個問題!現(xiàn)在還有點想不通昨晚為了完成客戶的單子却特,很晚才睡,頂著熊貓眼T_T

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末筛圆,一起剝皮案震驚了整個濱河市裂明,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌太援,老刑警劉巖闽晦,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異提岔,居然都是意外死亡仙蛉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門碱蒙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荠瘪,“玉大人,你說我怎么就攤上這事赛惩“梗” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵喷兼,是天一觀的道長篮绰。 經(jīng)常有香客問我,道長褒搔,這世上最難降的妖魔是什么阶牍? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任喷面,我火速辦了婚禮,結(jié)果婚禮上走孽,老公的妹妹穿的比我還像新娘惧辈。我一直安慰自己,他們只是感情好磕瓷,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布盒齿。 她就那樣靜靜地躺著,像睡著了一般困食。 火紅的嫁衣襯著肌膚如雪边翁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天硕盹,我揣著相機(jī)與錄音符匾,去河邊找鬼。 笑死瘩例,一個胖子當(dāng)著我的面吹牛啊胶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播垛贤,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼焰坪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了聘惦?” 一聲冷哼從身側(cè)響起某饰,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎善绎,沒想到半個月后黔漂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡禀酱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年瘟仿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片比勉。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡劳较,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出浩聋,到底是詐尸還是另有隱情观蜗,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布衣洁,位于F島的核電站墓捻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜砖第,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一撤卢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧梧兼,春花似錦放吩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至考赛,卻和暖如春惕澎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背颜骤。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工唧喉, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人忍抽。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓欣喧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親梯找。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348

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

  • 第一章: JS簡介 從當(dāng)初簡單的語言益涧,變成了現(xiàn)在能夠處理復(fù)雜計算和交互锈锤,擁有閉包、匿名函數(shù)闲询, 甚至元編程等...
    LaBaby_閱讀 1,651評論 0 6
  • 有人說過,很多彎路到最后都成了直路扭弧,所有的坑到最后也都成了坦途阎姥;所謂的直路和坦途并不是擺在眼前的,都是不斷的的...
    老衲法號一眉道人閱讀 1,319評論 0 4
  • 第1章 JavaScript 簡介 JavaScript 具備與瀏覽器窗口及其內(nèi)容等幾乎所有方面交互的能力鸽捻。 歐洲...
    力氣強(qiáng)閱讀 1,118評論 0 0
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,216評論 0 4
  • 友聚戶外俱樂部:9月16號帶上你們的家人和朋友衣赶,讓我們一起相約七彩大地游花海厚满,賞美景,吃正宗的農(nóng)家菜遵馆,在農(nóng)家院唱歌...
    友聚戶外閱讀 320評論 0 0