1.this啥時候不可以使用
a.定時器中不能使用
b.事件中多嵌套了一層函數(shù)
c.行間不能使用
d.attachEvent中不可以使用
e.箭頭函數(shù)
2.for循環(huán)中的i啥時候不能用
a.循環(huán)中加事件拳芙,事件中不能用i
b.循環(huán)中加定時器佑力,定時器中不能用i
解決方法:1.自定義屬性 2.封閉空間
3.嚴格模式
代碼規(guī)范
解決了不加var聲明變量的問題
4.background-attachment
css中的一種屬性,設置背景圖像是否固定或隨著頁面的其余部分滾動
語法object.style.backgroundAttachment = "fixed"
scroll:默認值厢汹,背景圖片會隨著頁面其余部分的滾動而移動
fixed:當頁面的其余部分滾動時躺率,背景圖片不會移動
inherit:規(guī)定從夫級繼承background-attachment屬性設置
5.解析json的三種方法
1.eval()方法
function toJson(){
var Json = eval('('+str+')');
return Json;
}
2.new Function 方法
function toJson(){
var Json = (new Function("return"+str))();
return Json;
}
3.Json.parse() 方法
function toJson(){
return Json.parse(str)
}
6.
看下列代碼看锉,輸出什么片橡?解釋原因
var undefined; // 報錯
undefined == null; // true
1==true; // true
2==true; // false
0==false; // true
0==''; // true
NaN==NaN; // false
{}==false; // false
{}==!{}; // false
7.當一個DOM節(jié)點被點擊時痒留,我們希望能夠執(zhí)行一個函數(shù)芹敌,應該怎么做?JavaScript的事件流模型都有什么肩榕?
直接在DOM里綁定事件:<div onclick=”test()”></div>
在JS里通過onclick綁定:xxx.onclick = test
通過事件添加進行綁定:addEventListener(xxx, ‘click’, test)
那么問題來了刚陡,Javascript的事件流模型都有什么?
“事件冒泡”:事件開始由最具體的元素接受株汉,然后逐級向上傳播
“事件捕捉”:事件由最不具體的節(jié)點先接收筐乳,然后逐級向下,一直到最具體的
“DOM事件流”:三個階段:事件捕捉乔妈,目標階段蝙云,事件冒泡
8.對web的標準以及w3c的理解與區(qū)別。
web標準簡單來說可以分為結(jié)構(gòu)路召、表現(xiàn)和行為勃刨。其中結(jié)構(gòu)主要是有HTML標簽組成。
或許通俗點說股淡,在頁面body里面我們寫入的標簽都是為了頁面的結(jié)構(gòu)身隐。
表現(xiàn)即指css樣式表,通過css可以是頁面的結(jié)構(gòu)標簽更具美感揣非。
行為是指頁面和用戶具有一定的交互抡医,同時頁面結(jié)構(gòu)或者表現(xiàn)發(fā)生變化,主要是有js組成。
9.CSS引入的方式有哪些忌傻?link和@import的區(qū)別是什么大脉?
內(nèi)嵌,導入外部樣式@import,鏈入外部樣式<link>,內(nèi)部樣式<head>
(1)link屬于XHTML標簽,除了加載CSS外水孩,還能用于定義RSS, 定義rel連接屬性等作用镰矿;
而@import是CSS提供的,只能用于加載CSS;
(2)頁面被加載的時俘种,link會同時被加載秤标,而@import引用的CSS會等到頁面被加載完再加載;
(3)import是CSS2.1 提出的,只在IE5以上才能被識別宙刘,而link是XHTML標簽苍姜,無兼容問題;
10.瀏覽器兼容性的解決方法
1.在有的瀏覽器中,默認字體大小為12px,所以在設字體大小的時候悬包,最小設為12px衙猪,如果在做的過程中,發(fā)現(xiàn)字體小于12布近,可直接作為圖片使用
2.a標簽對里不能嵌套a標簽對
3.若給a標簽內(nèi)的內(nèi)容樣式加上樣式垫释,需要設置display:block;(在IE中如果設置寬高會自動變成塊,在FF中則不會)撑瞧,但如果設置了float屬性棵譬,就不需要設置display:block。
4.ul预伺,ol在FF默認情況下订咸,有l(wèi)ist-style-type樣式和padding值,dl在IE和FF默認情況下酬诀,有padding值算谈,所以應該事先聲明ul,li,ol,dl,dd,dd{margin:0;padding:0}。
5.作為外部 wrapper 的 div 不要定死高度, 最好還加上 overflow: hidden.以達到高度自適應
6.關于手形光標. cursor: pointer. 而hand 只適用于 IE.
7.css布局中的居中問題:在父級元素定義TEXT-ALIGN: center;這個的意思就是在父級元素內(nèi)的內(nèi)容居中料滥;對于IE這樣設定就已經(jīng)可以了。但在mozilla中不能居中艾船。解決辦法就是在子元素定義時候設定時再加上“margin-right: auto;margin-left: auto; ”需要說明的是葵腹,如果你想用這個方法使整個頁面要居中,建議不要套在一個DIV里屿岂,你可以依次拆出多個div践宴,只要在每個拆出的div里定義margin-right: auto;margin-left: auto; 就可以了。
8.浮動ie產(chǎn)生的雙倍距離
#box{ float:left; width:100px; margin:0 0 0 100px; //這種情況之下IE會產(chǎn)生200px的距離爷怀,這時需要設置display:inline; //使浮動忽略}