日期:2014-05-16 浏览次数:20306 次
/*对象引用*/ function tr42() { var a2, b2; a2 = { "c": 1 }; b2 = a2; a2.c = 2; alert(b2.c); // 2 a2 = { "c": 3 }; alert(b2.c); // 2 a2.c = 4; alert(b2.c); // 2 } tr42();
/*setTimeout,js单线程,alert阻塞原理*/ 2.下面代码alert的内容 function tc51() { var a2 = 6; window.setTimeout((function() { alert(a2); // 66 a2 = 666; }), 1000); a2 = 66; window.setTimeout((function() { alert(a2); // 666 }), 3000); } tc51();
/*apply,call 代码阅读能力*/ 3.请阐述代码的功能, 代码的优点和缺点.listener.apply(el)在此处的作用.如果有可改进之处,请给出改进后的代码,并说明理由。 if (window.addEventListener) { var addListener = function(el, type, listener, useCapture) { el.addEventListener(type, listener, useCapture); }; } else if (document.all) { addListener = function(el, type, listener) { el.attachEvent("on" + type, function() { listener.apply(el); }); }; }
/*变量声明提升 作用域链*/ function ts61() { try { i = 2; throw Error("error message!"); } catch(err) { var i = 1; alert(err.message); } alert(i); alert(window.i); alert(window.err); alert(err.message); } ts61();