1. 浏览器本地存储技术都有哪些?
A cookie B localStorage C session D userData
分析:
1. cookie, localStorage 不多讲
2. session 为后台会话session
3. userData是微软为IE专门在系统中开辟的一块存储空间,实际测试在2000(IE5.5)、XP(IE6、IE7),Vista(IE7)下都是可以正常使用的
2. function args() {console.log(typeof arguments)} 会输出什么?
A object B array C undefined D function
分析:
typeof操作符可以判断出number、boolean、string、object、function和undefined;
arguments 是数组类型,数组和对象返回的均为object
3. function fn() { return fn } new fn() instanceof fn 输出的内容是什么?
A true B false
分析:
new fn() instanceof fn 实际的比较是 new fn().__proto__ == fn.prototype;
在上面 new fn().__proto__ 为:[Function]
fn.prototype为: fn {} . 故返回false
4. 正则表达式/^\d*\*[^\d]*[\w]{6}$/,下面的字符串中哪个能正确匹配?
A ***abcABCD_89 B abc*abcABCDEF C 123*abcABCD_89 D 123*ABCabcd-89
分析:
^\d* 表示可以是任意位的数字
\* 表示 * 号
[^\d] 表示不为数字的字符
[\w]{6}匹配连续的六个或六个以上的字符,字符可以是小写的 a-z,大写的,A-Z,下划线_ ,及数字 0-9
5. (function (){var a = b = 3;})()console.log(a);console.log(b); 程序会输出什么?
A 3, 3 B undefined, undefined C undefined D 程序报错
分析:
var a = b = 3;其中 b = 3 因为没有显示声明,所有b是一个全局变量。 而a是显示声明了所以是一个局部变量。
在方法外部输出 b 输出是3. a会报错 ReferenceError: a is not defined
6. 下面这段程序输出什么?
console.log('one');
setTimeout(function () {
console.log('two');
})
new Promise((resolve, reject) => {
console.log('three');
resolve('four')
}).then(res => {
console.log('four');
})
console.log('five');
输出:
one,three,five,four,two
7. 下面这段程序输出什么?
falseValue = "false";
while (true){
var falseValue;
if (falseValue) {
console.log("false" == true);
console.log("false" == false);
}
break;
}
输出:
false
false
8. PNG,GIF,JPG的区别及如何选?
照片用 JPG。
动画用 GIF。
Logo、Icon 等小图用 PNG-8。
非特殊情况,尽量不要用 PNG-24 和 PNG-32。
9.
10. 用js实现将li中的序列进行倒序排列。
<ul id="list">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
实现程序:
var ul = document.getElementById('list');
var lis = ul.getElementsByTagName('li');
for (var i = lis.length-1; i >= 0; i--){
ul.appendChild(lis[i])
}
在这里非常感谢今天遇到的那个陌生的小哥哥,一个个的面试题帮我去分析,并且扩展了很多的知识,每一个分析都很到位。我在这里分析总结的还不够全面,还请大家见谅。