JS基礎(chǔ)知識知多少(一)

1.CSS和JS在網(wǎng)頁中的放置順序是怎樣的富岳?

CSS一般用link放置在網(wǎng)頁的頭部,JS一般放置body的底部。
如果CSS樣式放在底部癣诱,對于IE瀏覽器,在某些場景下(點擊鏈接袜香,出入URL撕予,使用標(biāo)簽進(jìn)入等),會出現(xiàn)FOUC現(xiàn)象(逐步加載無樣式的內(nèi)容蜈首,等CSS加載后頁面突然展現(xiàn)樣式)实抡,對于FireFox會一直出現(xiàn)FOUC。
將JS放在網(wǎng)頁底部疾就,如果將JavaScript放在頭部澜术,在加載JavaSript時候,會禁用并發(fā)猬腰,并且組織其他內(nèi)容的下載鸟废,回到值白屏現(xiàn)象。

2.解釋白屏和FOUC

白屏:
a.如果把CSS樣式放在底部姑荷,對于IE瀏覽器盒延,在某些場景下(新窗口打開,刷新等)頁面會等到html和css加載完成后再進(jìn)行渲染鼠冕,造成頁面內(nèi)容不會逐步展現(xiàn)添寺;如果使用@import標(biāo)簽,即使CSS放入link,并且放在頭部懈费,也可能出現(xiàn)白屏计露。
b.如果把JS放在網(wǎng)頁頭部,在加載JavaScript時,會禁用并發(fā)票罐,并且阻止其他內(nèi)容的下載叉趣,會出現(xiàn)白屏。

FOUC:如果把樣式放在底部该押,對于IE瀏覽器疗杉,在某些場景下(點擊鏈接,輸入URL蚕礼,使用標(biāo)簽進(jìn)入等)烟具,會出現(xiàn)FOUC現(xiàn)象(逐步加載無樣式內(nèi)容,等CSS加載后頁面突然展現(xiàn)樣式)奠蹬,對于FireFox會一直表現(xiàn)出FOUC朝聋。
3.async和defer的作用是什么?有什么區(qū)別

defer該屬性用來通知瀏覽器罩润,這段腳本代碼將不會產(chǎn)生任何文檔內(nèi)容玖翅。
async的作用是:能夠異步地下載和執(zhí)行腳本,不因為加載腳本而阻塞頁面的加載割以。一旦下載完畢就會立刻執(zhí)行金度。
async和defer一樣,都不會阻塞其他資源下載严沥,所以不會影響頁面的加載猜极,但在async的情況下,js文檔一旦下載完畢就會立刻執(zhí)行消玄,所以很有可能不是按照原本的順序來執(zhí)行跟伏。如下圖:


區(qū)別:
a.html的版本html4.0中定義了defer;html5.0中定義了async;這將造成瀏覽器版本的不同而對其支持的程度不同;
b.執(zhí)行時刻:每個async屬性的腳本都在它下載結(jié)束之后立刻執(zhí)行翩瓜,同時會在window的load事件之前執(zhí)行受扳。所以可能出現(xiàn)腳本執(zhí)行順序被打亂的情況;每個defer屬性的腳本都是在頁面解析完畢之后兔跌,按照原本的順序執(zhí)行勘高,同時會在document的DOMContentLoaded之前執(zhí)行。

4.簡述網(wǎng)頁的渲染機(jī)制
a.解析HTML標(biāo)簽坟桅,構(gòu)建DOM樹华望;
b.解析CSS標(biāo)簽,構(gòu)建CSSOM樹仅乓;
c.把DOM和CSSOM組合成渲染樹赖舟;
d.在渲染樹的基礎(chǔ)上進(jìn)行布局,計算每個節(jié)點的集合結(jié)構(gòu)夸楣;
e.把每個節(jié)點繪制在屏幕上宾抓。

5.JavaScript 定義了幾種數(shù)據(jù)類型? 哪些是簡單類型?哪些是復(fù)雜類型?
JavaScript定義了六種數(shù)據(jù)類型子漩,其中有5種簡單的數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型):Undefined、Null石洗、Boolean痛单、Number和String.還有一種復(fù)雜的數(shù)據(jù)類型:object(本質(zhì)是由一組無序的名值對組成的)。

6.NaN劲腿、undefined、null分別代表什么?
NaN表示一個本來要返回數(shù)值的操作數(shù)未返回數(shù)值的情況(這樣就不會拋出錯誤)鸟妙;
undefined表示“缺少值”焦人,就是此處應(yīng)該有一個值,但是還沒有定義重父;
null表示“沒有對象”花椭,即該處不應(yīng)該有值。

7.typeof和instanceof的作用和區(qū)別?
typeof的作用是:用以獲取一個變量或者表達(dá)式的數(shù)據(jù)類型房午。返回如下幾個結(jié)果:number,boolean,string,function(函數(shù)),object(NULL矿辽,數(shù)組,對象)郭厌,undefined袋倔。主要用來判斷一個變量是否存在
instance of用來判斷一個變量是否是某個對象的實例。返回結(jié)果:boolean值折柠,true或false宾娜。用來判斷一個對象是否是數(shù)組或者判斷某個變量是否是某個對象的實例。

代碼題
1.完成如下代碼判斷一個變量是否是數(shù)字扇售、字符串前塔、布爾、函數(shù)
<pre>
function isNumber(el){
if(typeof(el)=="number"){return "true";}
else{return "false";}
}
function isString(el){
if(typeof(el)=="string"){return "true";}
else{return "false";}
}
function isBoolean(el){
if(typeof(el)=="boolean"){return "true";}
else{return "false";}
}
function isFunction(el){
if(typeof(el)=="function"){return "true";}
else{return "false";}

var a = 2,
b = "jirengu",
c = false;
alert( isNumber(a) ); //true
alert( isString(a) ); //false
alert( isString(b) ); //true
alert( isBoolean(c) ); //true
alert( isFunction(a)); //false
alert( isFunction( isNumber ) ); //true
</pre>
2.以下代碼的輸出結(jié)果是?
<pre>
console.log(1+1); //2
console.log("2"+"4"); //24
console.log(2+"4"); //24
console.log(+new Date()); //1466571995054
console.log(+"4"); //4
</pre>

3.以下代碼的輸出結(jié)果是?
<pre>
var a = 1;
a+++a; //3

typeof a; //"number2"
</pre>

4.遍歷數(shù)組承冰,把數(shù)組里的打印數(shù)組每一項的平方
<pre>
var arr=[3,4,5];
console.log(Math.pow(arr[0],2)); //9
console.log(Math.pow(arr[1],2)); //16
console.log(Math.pow(arr[2],2)); //25
</pre>

5.遍歷 JSON, 打印里面的值
<pre>
var obj = {
name: 'hunger',
sex: 'male',
age: 28
}
console.log(obj.name); //hunger
console.log(obj.sex); //male
console.log(obj.age); //28
</pre>

6.下面代碼的輸出是?
<pre>
console.log(a); //undefined
var a = 1;
console.log(a); //1
console.log(b); //報錯华弓,b is not undefined
</pre>

參考文章:
1.javascript中的defer和async學(xué)習(xí)+javascript執(zhí)行順序
2.【javascript基礎(chǔ)】 JavaScript defer和async區(qū)別
3.JavaScript之?dāng)?shù)據(jù)類型
4.undefined與null的區(qū)別
5.js中typeof和instanceof的區(qū)別

注:版權(quán)歸本人所有,若有轉(zhuǎn)載困乒,請注明出處

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末寂屏,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子顶燕,更是在濱河造成了極大的恐慌凑保,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涌攻,死亡現(xiàn)場離奇詭異欧引,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)恳谎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進(jìn)店門芝此,熙熙樓的掌柜王于貴愁眉苦臉地迎上來憋肖,“玉大人,你說我怎么就攤上這事婚苹“陡” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵膊升,是天一觀的道長怎炊。 經(jīng)常有香客問我,道長廓译,這世上最難降的妖魔是什么评肆? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮非区,結(jié)果婚禮上瓜挽,老公的妹妹穿的比我還像新娘。我一直安慰自己征绸,他們只是感情好久橙,可當(dāng)我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著管怠,像睡著了一般淆衷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上排惨,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天吭敢,我揣著相機(jī)與錄音,去河邊找鬼暮芭。 笑死鹿驼,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的辕宏。 我是一名探鬼主播畜晰,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼瑞筐!你這毒婦竟也來了凄鼻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤聚假,失蹤者是張志新(化名)和其女友劉穎块蚌,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體膘格,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡峭范,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了瘪贱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纱控。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡辆毡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出甜害,到底是詐尸還是另有隱情舶掖,我是刑警寧澤,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布尔店,位于F島的核電站眨攘,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏嚣州。R本人自食惡果不足惜期犬,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望避诽。 院中可真熱鬧,春花似錦璃谨、人聲如沸沙庐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拱雏。三九已至,卻和暖如春底扳,著一層夾襖步出監(jiān)牢的瞬間铸抑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工衷模, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留鹊汛,地道東北人。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓阱冶,卻偏偏與公主長得像刁憋,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子木蹬,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,047評論 2 355

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

  • JavaScript基本概念至耻、基礎(chǔ)數(shù)據(jù)類型、運(yùn)算符镊叁、流程控制語句尘颓。 一、CSS和JS在網(wǎng)頁中的放置順序是怎樣的晦譬? ...
    婷樓沐熙閱讀 439評論 0 2
  • 問答 1疤苹、CSS和JS在網(wǎng)頁中的放置順序是怎樣的? 一般來說css 放在Head標(biāo)簽里蛔添;Js放在body標(biāo)簽里最后...
    Maggie_77閱讀 249評論 0 0
  • 在線閱讀 http://interview.poetries.top[http://interview.poetr...
    程序員poetry閱讀 114,398評論 24 450
  • 概念 1痰催、CSS和JS在網(wǎng)頁上的放置順序是怎樣的兜辞? 將CSS放在head標(biāo)簽中:CSS放在后面會造成白屏或者FOU...
    周花花啊閱讀 443評論 1 1
  • 前端開發(fā)面試知識點大綱: HTML&CSS: 對Web標(biāo)準(zhǔn)的理解、瀏覽器內(nèi)核差異夸溶、兼容性逸吵、hack、CSS基本功:...
    秀才JaneBook閱讀 2,371評論 0 25