【定義@keyframes】
一、 0% { opacity: 0;}
100% { opacity: 1;}html
*********************千萬別在後面家逗號或者分號面試
【html,body】
一、html,body {
width:100%;
height:100%;
}
爲何這樣寫,是由於有些瀏覽器body高度並非佔滿頁面,這樣設置保證body獲得全屏寬高(作整屏動畫要考慮)json
【document.body.offsetHeight和document.body.clientHeight】
一、前者獲取body標籤高度,後者獲取窗口(視口)高度,二者不同
若是body不設置高度,前者會等於0,後者等於視口寬度 數組
二、document.body.offsetWidth 獲取到的是包括滾動條的寬度 反而document.body.clientWidth 不包括滾動條瀏覽器
【防止拖動時選中內容】
一、window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();閉包
二、直接在函數體最後return false;app
【js單引號雙引號問題】
一、Json 裏若是要用引號,建議使用雙引號,這樣別的語言也能識別數據函數
二、JS爲何要用單引號,是由於JS都把內容或者樣式插入行內,標籤屬性定義時通常用雙引號,JS賦值的時候用單引號,不容易出錯動畫
【直接改變數組的值】
一、 var arr = [1,3,5,6];
arr[3] += 1;
console.log(arr); // [1,3,5,7]網站
【轉換標準json格式的網站】
一、http://www.bejson.com/
【Math.min.apply(null,arr)】
一、這是一種獲取數組裏面最小數的一種方法,是經過function.apply(this,arguments),反之取大值就改變前面的方法Math.max
****************apply詳情能夠查看 http://www.cnblogs.com/KeenLeung/archive/2012/11/19/2778229.html
【冒泡事件注意事項】
一、冒泡事件只能禁止同類型事件
btn.onclick = function(e){
e.stopPropagation();
console.log(1);
}
wrap.onmousedown = function(){
console.log(2);
} // 打印 2 1
二、爺父子三個盒子,若是在父盒子中阻止冒泡事件,那麼子盒子也不會冒泡到爺盒子上,只會冒泡到父盒子上
三、父盒子綁定事件,子盒子沒有綁定事件(子盒子有寬高),如onmouseover,在父盒子和子盒子來回移動會不斷觸發事件發生,
如onclick( 1218本身作的登陸窗口點擊消失案例中,點擊box裏面的有高度的hd盒子也會消失,移動的時候前提要先onmousedown觸發,若是不能觸發
多是點擊事件冒泡有影響)
這是子盒子的冒泡事件,解決辦法在父盒子設置計數器,當觸發的時候等於1,大於1的時候不在觸發
【document.body.scrollTop能讀值取值】
一、document.body.scrollTop能被賦值
【this】(面試)
0、只要有閉包事件,它的調用者就是window,this就指向window,沒有任何特殊狀況
***********若是this指向undefined
一、this: this所在的函數在哪一個對象中,this就指向對象(大部分狀況)
eg: function dog(){
console.log(this);
}
dog(); //this指向window,由於全部的全局變量和全部的函數都是window的屬性和方法
new dog() //this指向dog,new 關鍵字可讓 this 指向新的對象,這就是所謂的構造函數
二、少數狀況特殊:
(1) 若是this在定時器中, this就指向window
(2) 若是this在事件源中, this就指向產生這個事件源的對象
**********************解決方法用備份指針 var self = this;
【構造函數的prototype】(面試)
一、是爲了共享屬性和方法,不用的話,每個構造函數的實例都會各自建立新的方法,會消耗內存,若是用了原型,就會讓全部的實例共用這個方法,只開闢
一次內存
【;(function(){})()】
一、;爲了防止前一個封閉做用於沒有小括號致使後面的閉包變成實參
【H5新標籤】
一、seletor.classList.add("class"); 二、seletor.classList.toggle();