1)如果一个html文档内含有阿拉伯文,则应该()
答案:使用utf-8
解析:utf-8是一种针对Unicode的可变长度字符编码,又称万国码。utf-8用1-6个字节编码UNICODE字符。用在网页上可以统一页面显示中文、简体、繁体以及其他语言(英语、日文、韩文)
GBK是汉字编码,是双字节码,可表示繁体字和简体字
ISO8859-2字符集,也称Latin-2,收集了东欧字符
2)head标签中必不可少的是()
答案:<title>
解析:按照标准来说,<title>是必须需要的标签,但是浏览器因为很多前端编码不规范,所以在没有的情况下有时并不影响,或者是再删除<title>之后,只是加载之前的缓存界面;但是<meta>是编码说明,删除会有很大的麻烦,但是理论上来说,如果是按照浏览器默认的编码方式的文档,是不会出错的。所以仅仅是理论上来说,<title>是必要的。
3)以下 javascript 代码,在浏览器中运行的结果是()
答案:string
解析:首先,a的取值由||运算符的两边共同决定,左边明显为false,右边为字符串的拼接并返回其类型,4399+“”=>439;因为隐式转换成为字符串,所以类型为string,所以右边为string。即为a的返回值。
4)当表单中包含文件上传控件时,需要将enctype设置为()
答案:multipart/form-data
解析:首先,enctype的属性规定了再发送到服务器之前应该对表单数据进行编码,默认的编码为“application/x-www-form-urlencoded”.就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为"+",特殊符号转换为ASCII HEX值)。它的属性值及其描述如下:
- application/x-www-form-urlencode 在发送前编码所有字符(默认)
- multipart/form-data 不对字符编码。在使用包含文件上传控件的表单时,必须使用该值
- text/plain 空格转换为“+”, 但不对特殊字符编码
5)下列代码,返回的值应该是()
(function() {
var x=foo();
var foo=function foo() {
return “foobar”
};
return x;
})();
答案:类型错误
语句汇总变量的声明会提升,但是定义(函数表达式)不会提升。上述代码等同于:
var foo;
var x = foo();
foo = function foo() { ... };
当执行到x = foo()时,由于foo未定义为函数,所以返回 foo is not a function...
6)下列代码存在几个变量没有被回收?( )
var i = 1;
var i = 2;
var add = function() {
var i = 0;
return function(){
i++;
console.log(i);
}
}();
add();
答案: 3个
解析:代码回收规则如下:
- 全局变量不会被回收
- 局部变量会被回收,也就是函数一旦运行完以后,函数内部的东西都会被销毁
- 只要被另外一个作用域引用就不会被回收
所以,本题中有3个变量没有被回收,首先是全局变量中的I,第二行会覆盖第一行,因此算一个。第二个是var add(),这个是全局的,也没有回收,它定义了一个匿名函数,并将它赋给了add.第三个是闭包中的变量,闭包中的局部变量时不会被回收的。
7)常见的浏览器端的存储技术有哪些?
有时,需要将页面中的一些数据保存在浏览器端,这样做的好处是,当下次访问的时候,不需要再次向服务器请求数据,直接就可以从本地读取数据。目前常用的有以下几种方法:
cookie
cookie会随着每次HTTP请求头信息一起发送,无形中增加了网络流量,另外,cookie能存储的数据容量有限,根据浏览器类型不同而不同。IE6大约只能存储2K
Flash ShareObject
这种方式能解决上面提到的cookie存储的两个弊端,而且能够跨浏览器。应该说是目前最好的本地存储方案。不过需要在页面上插入Flash,当浏览器没有安装Flash空间时,就不能用了。所幸的是,没有安装flash的用户很少
Google Gear
Google开发的一种本地存储技术,缺点是:需要安装gear组件
userData
IE浏览器可以使用userData来存储数据,容量可达到640kb,这种方案是很可靠的,不需要安装额外的插件。缺点是:它仅在IE下支持
sessionStorage
使用于Firefox2+的火狐浏览器,用这种方式存储的数据仅窗口级别有效。同一个窗口(或者tab)页面刷新或者跳转,都能获取到本地存储的数据,当新开窗口或者页面时,原来的数据就失效了。缺点:IE不支持,不能实现数据的持久保存
globalStorage
使用于Firefox2+的火狐浏览器,类似于userdata。缺点是IE不支持
localStorage
localStorage是web storage互联网存储规范中的一部分,现在Firefox3.5 Safari 4 和IE8都能支持。缺点是、;低版本不支持
总结:
flash shareobject是不错的选择,如果不想在页面上嵌入flash,可以结合使用userData(IE6+)和globalstorage(firefox2+)和localstorage(chrome3+)实现跨浏览器。