http://caniuse.com/#index //Can I use... Support tables for HTML5, CSS3, etc-支持h5和css3的狀況列表 javascript
JS包含: DOM ECMA BOMcss
方法一:用onhashchange:改變hash值來管理html
產生7個隨機數顯示,產生一串數據數字昨晚 obj 對象的key,number做爲值;關鍵賦值給hashjava
當前進後退是 hash改變,觸發,取值顯示到頁面。node
產生多少個隨機數的方法。jquery
方法二:css3
目前上面前進後退 地址欄是不會變化的,如若要變化,能夠在 pushState函數第三個參數每次傳一個遞增的數據:var inow=1; 傳 inow++;算法
window.name, 內容是寫到name上的,不會被暴露出來,《==不是很理解 json
【原創】說說JSON和JSONP,也許你會豁然開朗,含jQuery用例 - 隨它去吧 - 博客園
http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html跨域
JSONP是如何工做的? | Melon---沒有太細看
http://blog.bpzufang.com/blog/2014/08/08/how-jsonp-really-works/
上面的a是局部變量,執行aaa()後a並無被回收,經過調用b();a會不斷累加。可是執行alert(a)會報錯,由於a是局部的。
在JS中若是在函數的兩邊加上括號(),此函數就有函數聲明變成了函數表達式,再在後面加上()像這樣(function(){})();函數就會自執行。
模塊化代碼的一個模型
1、什麼是閉包? 2、閉包有什麼好處?應用在哪裏? 閉包好處: 1、但願一個變量長期駐紮在內存當中; 2、模塊化代碼,避免全局變量的污染; 3、私有函數,私有成員。 3、閉包須要注意的地方? IE下 可能會引起內存泄漏,解決方法 兩個: window.onload = function(){ var oDiv = document.getElementById('div1'); oDiv.onclick = function(){ alert(oDiv.id); }; window.onunload = function (){ oDiv.onclic = null; }; } === window.onload = function(){ var oDiv = document.getElementById('div1'); var id =oDiv.id; oDiv.onclick = function(){ alert(id); }; oDiv = null; }
學習Javascript閉包(Closure) - 阮一峯的網絡日誌
http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
防止被嵌套,被釣魚
var oIframe = document.getElementById('iframe1');
oIframe.contentWindow.document.getElementById('div1').style.color='red'; 全部瀏覽器均可以
IE瀏覽器沒有問題,在crome下直接打開不能夠(在服務器下能夠,爲了安全)
oIframe.contentDocument.getElementById(); ie6 ie7是不支持的
==快速排序
==枚舉算法
obj.inertBefore(oLi,aLi[0]);
obj.appenChild(oLi)
obj.inertBefore(aLi[i],aLi[0]);//這樣起到交互的效果?
函數聲明和函數表達式
區別:
一、函數表達式能夠直接在後面添加括號執行,而函數聲明不能夠。
二、函數聲明能夠提早被解析出來 (預編譯)
覺得預編譯,因此與IF沒有什麼關係了,並非想象的編譯第一個。
原本是本身作的事情 ,卻給了別人替你作這件事情
:利用冒泡的原理,把事件加到父級上,觸發執行效果
window.onload = function(){ var oUl = document.getElementById(‘ull‘); var aLi = document.getElementsByTagName(‘li‘); oUl.onmouseover = function(ev){ var event = ev||window.event; // 獲取event對象 var target = ev.target || ev.srcElement; // 獲取觸發事件的目標對象 if(target.nodeName.toLowerCase() == ‘li‘){ //判斷目標對象是否是li target.style.background = ‘red‘; } } 代碼中加了一個標籤名的判斷,主要緣由是若是不加判斷,當你鼠標移入到父級oUL上面的時候,整個列表就會變紅,這不是咱們想要的結果,因此要判斷一下。 target.nodeName 彈出的名字是大寫的,因此須要轉換大小寫再比較。