日期:2014-05-16 浏览次数:20388 次
/*对象引用*/
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();