js 非同步載入和json格式
阿新 • • 發佈:2019-01-24
1:json解析
<!--json-->
var json = {
name: "json",
age: 123
}
var str = JSON.stringify(json);
//"{"name":"json","age":123}"
var parse = JSON.parse(str);
// {name: "json", age: 123}
2:js非同步載入
function test() { console.log("dddd"); } var tools = { test : function () { console.log("dddd"); } }
/*重排(reflow):dom節點的刪除,新增 以及dom節點寬高變化位置變化 */ /*js中非同步載入:又稱非阻塞載入,瀏覽器下載js的同時,會繼續進行後續頁面的處理 * * js中同步載入:也叫阻塞載入,會阻止瀏覽器的後續處理,停止後續的解析,只有當前載入完成之後,才能進行下一步操作 * */ /*非同步載入defer,只有IE瀏覽器才有,只有dom解析完成才能執行,也可以寫在程式碼裡面*/ //<script type="text/javascript" src="/js/document.js" defer> <!--async非同步載入,下載完就執行,不能寫在script標籤裡面--> /*<script type="text/javascript" src="/js/document.js" async="async">*/ function loadScript(url, callback) { var script = document.createElement('script'); script.type = "text/javascript"; if (script.readyState) { /*IE*/ script.onreadystatechange = function () { if (script.readyState == "complete" || script.readyState == "loaded") { callback(); //tools[callback](); } } } else { script.onload = function () { callback(); // //tools[callback](); } } script.src = url; document.head.appendChild(script); } loadScript('dome.js',function () { test(); }) /* loadScript('dome.js',test) */