赞
踩
域名解析-->发起TCP的3次握手-->建立TCP连接后发起http请求-->服务器响应http请求,浏览器得到html代码-->浏览器解析html代码,并请求html代码中的资源-->浏览器对页面进行渲染呈现。
21、MVC和MVVM的区别?
在MVC里view可以直接访问model,view里还回包含model,还会有一些业务逻辑,mvc关注的是model,view依赖model,但model不依赖view;
MVVM实际上是真正的做到将页面和数据逻辑分离,它把绑定数据放到js里完成,此外,mvvm具有数据的双向绑定等新特性。
22、写出三个this的应用?
在html中:<input οnclick="function(this)">
input 获取值时:var a =document.getElementbyId("#a");
a.click = function(){
this.value();
}
构造函数:
function (name,age){
var name = this.name;
var age = this.ge;
}
$(selector).addClass(class):为每个匹配的元素添加指定的类名
$(selector).removeClass(class):从所有匹配的元素中删除全部或者指定的类,删除class中某个值;
$(selector).toggleClass(class):如果存在(不存在)就删除(添加)一个类
$(selector).removeAttr(class);删除class这个属性;
24、sessionStorage 、localStorage 和 cookie 之间的区别
共同点:用于浏览器端存储的缓存数据
不同点:
(1)、存储内容是否发送到服务器端:当设置了Cookie后,数据会发送到服务器端,造成一定的宽带浪费;
web storage,会将数据保存到本地,不会造成宽带浪费;
(2)、数据存储大小不同:Cookie数据不能超过4K,适用于会话标识;web storage数据存储可以达到5M;
(3)、数据存储的有效期限不同:cookie只在设置了Cookid过期时间之前一直有效,即使关闭窗口或者浏览器;
sessionStorage,仅在关闭浏览器之前有效;localStorage,数据存储永久有效;
(4)、作用域不同:cookie和localStorage是在同源同窗口中都是共享的;sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;
25、请指出document load和document ready的区别?
共同点:这两种事件都代表的是页面文档加载时触发。
异同点:
ready 事件的触发,表示文档结构已经加载完成(不包含图片等非文字媒体文件)。
onload 事件的触发,表示页面包含图片等文件在内的所有元素都加载完成。
26、web前端开发,如何提高页面性能优化?
1.减少 HTTP 请求 (Make Fewer HTTP Requests)
2.减少 DOM 元素数量 (Reduce the Number of DOM Elements)
3.使得 Ajax 可缓存 (Make Ajax Cacheable)
1.把 CSS 放到代码页上端 (Put Stylesheets at the Top)
2.从页面中剥离 JavaScript 与 CSS (Make JavaScript and CSS External)
3.精简 JavaScript 与 CSS (Minify JavaScript and CSS)
4.避免 CSS 表达式 (Avoid CSS Expressions)
1. 脚本放到 HTML 代码页底部 (Put Scripts at the Bottom)
2. 从页面中剥离 JavaScript 与 CSS (Make JavaScript and CSS External)
3. 精简 JavaScript 与 CSS (Minify JavaScript and CSS)
4. 移除重复脚本 (Remove Duplicate Scripts)
1.优化图片
2 不要在 HTML 中使用缩放图片
3 使用恰当的图片格式
4 使用 CSS Sprites 技巧对图片优化
1.解析HTML文件,创建DOM树。
自上而下,遇到任何样式(link、style)与脚本(script)都会阻塞(外部样式不阻塞后续外部脚本的加载)。
2.解析CSS。优先级:浏览器默认设置<用户设置<外部样式<内联样式<HTML中的style样式;
3.将CSS与DOM合并,构建渲染树(Render Tree)
4.布局和绘制,重绘(repaint)和重排(reflow)
28、ES6新特性?
1、箭头函数-> ;
2、增强对象字面量;
3、字符串插值;
4、let 是新的var,它有块级作用域,不能使用let从新声明一个变量;
5、const是只读变量;
6、可继承内置函数;
7、promises 异步编程
29、什么是模块化?
• 模块化就是为了减少系统耦合度,提高高内聚,减少资源循环依赖,增强系统框架设计。
• 让开发者便于维护,同时也让逻辑相同的部分可复用
• 模块化开发:针对js、css,以功能或业务为单元组织代码。js方面解决独立作用域、依赖管理、
30、前台兼容性问题有哪些?
主要是常用浏览的(前端)API差异,渲染差异,等等
31、请解释下列返回码的含义:200,302,400,403,500,502
200:请求成功
302:请求的资源临时从不同的 URI响应请求。(资源临时重定向)
400:错误请求(请求的参数错误或者服务器不理解请求的语法)
402:10.4.3 402 Payment Required This code is reserved for future use.
该状态码是为了将来可能的需求而预留的。
500:服务器端错误
502:网关或代理无效/无响应,网络错误
32、session和cookie的区别?
cookie是浏览器端,Cookie是访问某些网站以后在本地存储的一些网站相关的信息,下次再访问的时候减少一些步骤,是以key,value的形式;
session是服务器端,一种用来存放用户数据的类HashTable结构。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。