您的位置:首页 > Web前端

阿里巴巴4月1日前端笔试

2015-04-03 15:50 183 查看

阿里巴巴2015年4月1日web前端笔试

总计13题 有两道忘记了,题还是很基础的。

第一题

var arr1=[1,2];
var arr2=arr1;
arr2[0]=arr1[1];
arr1.push(3);

console.log(arr2);
console.log(arr1);


第二题

移动端启动3D加速

第三题

重绘重排

第四题

github或博客地址

第五题

哪个不属于position属性 选的是float

第六题

em(family?) px pt

第七题

var a= {
name:'张三',
age:'12',
hasOwnProperty:  function () {
return false;
}
}
a.prototype={
name:'李四',
age:'33'
}
//判断:
a.hasOwnProperty('name');//输出false
console.log(a.name ) ;//输出张三


第八题

写一个函数isDuplicate判断传入的数字中的是否有重复数字,若有返回true,否则false..参数不确定个数

第九题

var greeting = 'my name is ${name}, age ${age}';
var result = greeting.render({name: 'XiaoMing', age: 11});
console.log(result);  //输出这样:my name is XiaoMing, age 11


了解正则:

var a=/\$\{[a-zA-Z]+\}/g;
var b='ax${name}sd${age}';
b.match(a);
["${name}", "${age}"]
a.exec(b);
["${name}"]


ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。结果为将每一匹配的子字符串替换为函数调用的相应返回值的字符串值。函数作参可以进行更为复杂的操作。

结果如下

String.prototype.render= function (obj) {
var a=/\$\{[a-zA-Z]+\}/g;
return   this.replace(a, function (d) {
var data= d.substring(2, d.length-1);
return obj[data];
});

}
var greeting = 'my name is ${name}, age ${age}';
var result = greeting.render({name: 'XiaoMing', age: 11});
console.log(result);  //my name is XiaoMing, age 11


第十题

一道for循环引起的闭包问题,使点击一个p,背景变色

第十一题

生成10-100的10个不同的随机数,并按从大到小排序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: