- js的數(shù)據(jù)類型有哪些,判斷基本數(shù)據(jù)類型的操作符有什么
數(shù)據(jù)類型:基本數(shù)據(jù)類型(string,number,boolean,null,undefined)
和引用數(shù)據(jù)類型(Object,Array),通過(guò)typeof關(guān)鍵字判斷數(shù)據(jù)類型
- document.write()和console.log()有什么不同?實(shí)際開(kāi)發(fā)中用什么,為什么要用它
document.write()都是輸出內(nèi)容,都必寫在script標(biāo)簽內(nèi),前者是在頁(yè)面中輸出,
如果位于script標(biāo)簽位于head內(nèi)并位于head中其他內(nèi)容的開(kāi)始,
會(huì)把head內(nèi)的內(nèi)容清除,并輸出內(nèi)容,
如果script在body和其他位置并位于body中的開(kāi)始位置,
會(huì)把body中的內(nèi)容清空,并輸出內(nèi)容;
而后者是在控制臺(tái)輸出,在實(shí)際我開(kāi)發(fā)中使用后者,原因是,他不會(huì)覆蓋原有代碼
- foo = foo || bar , 這段代碼是什么意思,為什么要這么寫
相當(dāng)于
if(!foo){
foo = bar;
}
如果foo存在,且之不變,就返回foo,否則把bar的值賦給foo.
這么寫的原因:簡(jiǎn)潔
- 列舉你知道關(guān)于js的瀏覽器兼容問(wèn)題
1.
obj.事件 = function(ev){
var e = ev || window.event;
}
2.
obj.事件 = function(ev){
var e = ev || window.event;
var t = e.target ||e.srcElement;
}
3. var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
4. var clientHeight = document.body.clientHeight || docuemnt.documentElement.clientHeight;
var winH=document.body.clientHeight||document.docuemntElement.clientHeight;//網(wǎng)頁(yè)可見(jiàn)區(qū)域?qū)? //以上為不包括邊框的寬高,如果是offsetWidth或者offsetHeight的話包括邊框
var winWW=document.body.scrollWidth||document.docuemntElement.scrollWidth;//整個(gè)網(wǎng)頁(yè)的寬
var winHH=document.body.scrollHeight||document.docuemntElement.scrollHeight;//整個(gè)網(wǎng)頁(yè)的高
var scrollHeight=document.body.scrollTop||document.docuemntElement.scrollTop;//網(wǎng)頁(yè)被卷去的高
var scrollLeft=document.body.scrollLeft||document.docuemntElement.scrollLeft;//網(wǎng)頁(yè)左卷的距離
- 請(qǐng)解釋瀏覽器事件流是怎么回事?
事件流描述的是從頁(yè)面接收事件的順序,分為冒泡型事件和捕獲型事件,
這兩個(gè)事件是在同一時(shí)間提出的,前者是微軟提出的,后者是網(wǎng)景提出的,
但兩者順序完全相反.冒泡型事件是從具體的元素到不具體的元素,
捕獲型事件是從不具體的元素到具體的元素,由于老的瀏覽器不支持捕獲型事件,所以用冒泡型事件比較多
- 為什么管cookie叫會(huì)話跟蹤技術(shù)?
會(huì)話跟蹤英文是session tracking
- 什么是utf-8,它和ASCII有什么關(guān)系
utf-8就是在互聯(lián)網(wǎng)上使用最廣泛的一種unicode編碼,是unicode的實(shí)現(xiàn)方法之一,
utf-8最大的特點(diǎn)就是,他是引種變長(zhǎng)的編碼方式,
他可以使用1-4個(gè)字節(jié)表示一份符號(hào),根據(jù)不同的符號(hào)二變化字節(jié)長(zhǎng)度.
如果一個(gè)字節(jié)的第一位是0,則這個(gè)字節(jié)單獨(dú)就一個(gè)字節(jié);如果第一位是1,
則連續(xù)多少個(gè)1,就表示當(dāng)前字符站多少個(gè)字節(jié).
關(guān)系,對(duì)于英文單詞,uft-8編碼就是ASCII
- 如何進(jìn)行嚴(yán)格模式,有什么好處
"use strict"
消除js語(yǔ)法的不合理性,不嚴(yán)謹(jǐn)處,減少一些怪異的行為
消除代碼運(yùn)行的一些不安全支出,保證代碼運(yùn)行的安全
提高編譯器效率,增加代碼運(yùn)行速度
為未來(lái)新版本的js做鋪墊
- 什么是NaN,他是什么類型,怎么測(cè)試一個(gè)值是否等于NaN?
NaN是Not a number 的縮寫,是js的一種特殊數(shù)值.類型是number,
可以通過(guò)isNaN(param)來(lái)判斷一個(gè)值是否是NaN,是NaN則返回true,否則返回false.
在ES6中,isNaN()成為Number的靜態(tài)方法:Number.isNaN()//是NaN返回false,不是返回true