1.new操作符具体干了什么呢?
2.详述前端性能优化的手段
3.浏览器输入网址回车发生了什么
4. localStorage、sessionStorage、cookie有什么区别?
5.typeof和instanceof相同点与不同点
1.new操作符具体干了什么呢?
题目点评
考察对new关键的深刻认识,是否对前端知识有专研,如果没有专研的人,肯定说创建了一个对象,恭喜你面试官知道你是小菜鸟来的,这次面试基本上没有太大的希望了。一定要对new过程的4个步骤非常清楚,这样才能深深地抓住面试官的心!题目解析先看代码
var Func=function(){
};
var func=new Func ();
new共经过了4几个阶段1、创建一个空对象
varobj=new Object();
2、设置原型链
obj.__proto__= Func.prototype;
3、让Func中的this指向obj,并执行Func的函数体。
var result =Func.call(obj);
4、判断Func的返回值类型:如果是值类型,返回obj。如果是引用类型,就返回这个引用类型的对象。
if (typeof(result) == "object"){
func=result;
}
else{
func=obj;;
}
2.详述前端性能优化的手段
1.减少http请求数常用的减少http请求数有以下几种:1)合并图片。当图片较多时,可以合并为一张大图,从而减少http请求数。经常变化的图片可能不太合适,变化相对稳定的就可以考虑。合并大图除了能减少http 请求数外,还可以充分利用缓存来提升性能。2)合并压缩css样式表和js脚本,他们的共同目的都是为了减少http连接数。3)去掉不必要的请求。开发写代码或者系统升级之后残留的无效请求连接。4)充分利用缓存。这里说的缓存是客户端侧缓存或者说浏览器缓存。Expires头信息是客户端侧缓存的重要依据,格式类似于Expires:sun ,20 Dec 2017 23:00:00 GMT。 如果当前时间小于Expires指定的时间,浏览器就会从缓存中直接获取相关的数据信息或html文件,如果当前时间大于Expires指定的时间,浏览器会向服务器发送请求来获取相关数据信息。以Apache为例,可在Apache的配置文件httpd.conf中设置Expires。2.图片优化优化方法:1)尽可能的使用PNG格式的图片,它相对来说体积较小。2)对于不同格式的图片,在上线之前最好进行一定的优化。3)图片的延迟加载,也叫做赖加载。3.使用CDNCDN即内容分发网络,可以使用户就近取得所需内容,解决网络拥挤的状况,提高用户访问网站的响应速度。4.开启GZIPGZIP即数据压缩,用于压缩使用Internet传输的所有文本资源。开启GZIP的方法很简单,到对应的web服务配置文件中设置一下即可。以Apache为例,在配置文件httpd.conf中添加。5.样式表和JS文件的优化一般我们会把css样式表文件放到文件的头部。比如,放到<head>标签中,这样可以让CSS样式表尽早地完成下载。对应js脚本文件,一般我们把他放到页面的尾部。6.使用无cookie域名无cookie域名的概念:当发送一个请求时,同时还要请求一张静态的图片和发送cookie时,服务器对于这些cookie不会做任何使用,也就是说这些cookie没什么用,没不要随请求一同发送。7.前端代码结构的优化
3.浏览器输入网址回车发生了什么
1.对www.baidu.com这个网址进行DNS域名解析,得到对应的IP地址 2.根据这个IP,找到对应的服务器,发起TCP的三次握手 3.建立TCP连接后发起HTTP请求 4.服务器响应HTTP请求,浏览器得到html代码 5.浏览器解析html代码,并请求html代码中的资源(如js、css图片等)(先得到html代码,才能去找这些资源) 6.浏览器对页面进行渲染呈现给用户4. localStorage、sessionStorage、cookie有什么区别?共同点:都是作为存储的,都是同源的不同点:localStorage:永久存储,除非你手动清除数据否则永久保存sessionStorage:会话存储,浏览器关闭后存储失效Cookie:暂时性存储,数据会在设置的cookie过期时间之前保存着,它的数据可以在浏览器和服务器之间来回传递,而localStorage和sessionStorage而不会主动把数据发送给服务器
5.typeof和instanceof相同点与不同点
相同点:JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空, 或者是什么类型的。不同点:typeof:1.返回值是一个字符串, 用来说明变量的数据类型。2.typeof 一般只能返回如下几个结果:number, boolean, string, function, object, undefined。instanceof:1.返回值为布尔值;2. instanceof 用于判断一个变量是否属于某个对象的实例。