2012年淘宝UED招聘常用面试题
一、根据下图编写一段XHTML
2011-9-17 16:23:54 上传
下载附件 (11.83 KB)考点:前端工程师的语义化标签知识以及模块化HTML代码知识;
示例:
<div class="dialogPractise">
<h2>对话练习</h2>
<ul class="dialogPractise-bd">
<li>
<strong>小明</strong>
<span>我的淘宝店成立5周年啦欢迎光临哦!</span>
</li>
<li>
<strong>傅玉</strong>
<span>昨天销售300件米奇心情真爽!</span>
</li>
</ul>
<span class="dialogPractise-fo"></span>
</div>
二、请简化下面的CSS代码:
a)margin:0px;
b)padding:10px 0 10px 0;
c)border-width:1px;border-style:solid;border-color:#ff5500;
考点:CSS的优化
示例:margin:0;padding:10px 0;border:1px solid #ff5500;
三、请看以下代码,按照下面的要求回答
if(window.addEventListener){
var fn = function (type,fn,useCapture){
el.addEventListener(type,fn,useCapture);
}
}
else if(window.attachEvent){
fn = function (type,fn){
el.attachEvent('on'+type,);
}
}
考点:对事件绑定的深入理解;
1、以上代码的作用;
2、以上代码的优点;
3、以上代码中的问题,如果你有更好的,请把它编写出来;
示例:
1、以上代码主要是为HTML元素绑定一个事件,并且兼容IE和DOM标准下的浏览器;
2、以上代码的优点是做到的了事件绑定的兼容性;
3、以上代码中fn这个变量是在DOM标准下的浏览器中才会声明,在IE下它将是一个全局变量;
function bind(el, type, fn, useCapture){
if (window.addEventListener) {
el.addEventListener(type, function(){
fn.apply(el, arguments);//始终将this指向DOM
}, useCapture);
}
else if (window.attachEvent) {
el.attachEvent('on' + type, function(){
fn.apply(el, arguments);//始终将this指向DOM
});
}
}
var el = document.getElementById('demo');
var test = function(){
alert(this.nodeName);
}
bind(el, 'click', test);
注意代码中的注释部分。因为在符合DOM标准的浏览器中,addEventListener方法将把this指针指向绑定的函数,而IE中attachEvent方法将始终指向widow对象,为了将this指针始终指向当前绑定事件的DOM,我们必须要使用apply或者call方法来改变函数的作用域。
三、请计算下面变量的值
var a= (Math.PI++);
var b = (Math.PI++);
alert(a);
alert(b);
考点:对javascript中Math对象的深入理解
四、注释的代码是否可以实现?如不能实现,请修改
function test(){
this.name = 'taobao';
this.waitMes = function (){
//隔5秒钟执行this.name
}
}