前端工程师笔试题网站相关.docx
《前端工程师笔试题网站相关.docx》由会员分享,可在线阅读,更多相关《前端工程师笔试题网站相关.docx(13页珍藏版)》请在冰豆网上搜索。
![前端工程师笔试题网站相关.docx](https://file1.bdocx.com/fileroot1/2023-2/21/a2722a6c-3251-4761-bf72-e44c6ac740bf/a2722a6c-3251-4761-bf72-e44c6ac740bf1.gif)
前端工程师笔试题网站相关
前端工程师笔试题
姓名:
_____________________
为了便于我们更准确地评估您的笔试情况,以及在后续面试中更方便地沟通。
请您自我评价一下在以下技术方面的知识/技能水平和项目经验:
技术
知识/技能
项目经验
Html
□精通□熟练□略知□不懂
□丰富□一般□没有
CSS
□精通□熟练□略知□不懂
□丰富□一般□没有
JS原生态
□精通□熟练□略知□不懂
□丰富□一般□没有
JQuery或其他类似框架
□精通□熟练□略知□不懂
□丰富□一般□没有
DOM
□精通□熟练□略知□不懂
□丰富□一般□没有
Ajax
□精通□熟练□略知□不懂
□丰富□一般□没有
ASP.NET
□精通□熟练□略知□不懂
□丰富□一般□没有
SQLSERVER或MYSQL
□精通□熟练□略知□不懂
□丰富□一般□没有
PHP或JAVA
□精通□熟练□略知□不懂
□丰富□一般□没有
其他您觉得自己精通或经验丰富的知识/技能:
_______________________________________________________________________________
例如:
IE和FF的兼容性问题
代码中存在许多document.formName.item("itemName")这样的语句,不能在MF下运行
现有代码中许多集合类对象取用时使用(),IE能接受,MF不能
使用window.event无法在MF上运行
HTML对象的id作为对象名的问题
window.onbeforeunload=function(){}方法360浏览器不识别
1前端技术部分(共6题,6选3)
1.1请使用Javascript实现以下动态效果
可以使用任何你喜欢的方式和库,尽量使用你认为优雅的实现,并在代码完成说简要说明此方案的优点和不足。
(初始状态)
(实现效果:
1、可修改任一条目内容;2、可新增任意个新条目)
提示:
js动态的给table曾删改查行
关键函数:
functionadd(){
varotr=document.getElementById("tab").insertRow(-1);
varcheckTd=document.createElement("td");
checkTd.innerHTML='';
varotd1=document.createElement("td");
otd1.innerHTML='';
varotd2=document.createElement("td");
otd2.innerHTML='';
otr.appendChild(checkTd);
otr.appendChild(otd1);
otr.appendChild(otd2);
}
functiondel(){
varc=document.getElementsByName('checkItem');
varidArray=newArray();
for(vari=0;iif(c[i].checked)
idArray.push(i);
varrowIndex;
varnextDiff=0;
for(j=0;j{
rowIndex=idArray[j]+1-nextDiff++;
document.getElementById("tab").deleteRow(rowIndex);
}
}
functionchange()
{
//获取单元格
vartb=document.getElementById("test");
//获取需要修改的行数
varrow=document.getElementById("row").value;
//判断输入的行是否是个数字
row=parseInt(row);
//如果不是一个整数,将弹出警告框
if(isNaN(row))
{
alert("您要修改的行必须是整数");
returnfalse
}
//判断希望修改的列数
varcel=document.getElementById("cel").value;
cel=parseInt(cel);
//如果需要修改的列不是整数,将弹出警告框
if(isNaN(cel))
{
alert("您要修改的列必须是整数");
returnfalse;
}
//如果需要修改的行或者列超出了表格的行或者列,将弹出警告框
if(row>tb.rows.length||cel>tb.rows.item(0).cells.length)
{
alert("要修改的单元格不在该表格内");
returnfalse;
}
//修改单元格的值
tb.rows.item(row-1).cells.item(cel-1).innerHTML=document.getElementById("celVal").value;
}
//为按钮绑定事件处理函数
document.getElementById("chg").onclick=change;
1.2请说明要输出正确的myName的值要如何修改程序?
并解释原因
foo=function(){this.myName="Foofunction.";}foo.prototype.sayHello=function(){alert(this.myName);}foo.prototype.bar=function(){setTimeout(this.sayHello,1000);}varf=newfoo;f.bar();
DOCTYPEHTML>
02
03
04
05
第二题
06
07
08
只需将指向foo的this作为参数传递给setTimeout中的sayHellow即可。
09
原因:
foo.prototype.sayHellow()里的this是指向window,所以找不到this.myName。
10
11foo=function(){
12this.myName="Foofunction.";
13}
14
15foo.prototype.sayHello=function(){
16alert(this.myName);
17}
18
19foo.prototype.bar=function(){
20varthat=this;
21setTimeout((function(){
22that.sayHello(that)
23}),1000);
24}
25
26varf=newfoo;
27f.bar();
28
29
30