s1.css中display的属性有几种,分别是什么;
none,inline,block;
2.css中list-style的属性有几种,分别是什么:
list-style-type:
list-style-position:inside outside
list-style-image
3 .jQuery中获取的dom对象和原生的dom有什么区别?
js原生获取的dom是一个对象,jQuery对象就是一个数组对象,其实就是选择出来的元素的数组集合,所以说他们两者是不同的对象类型不等价
4.怎么添加移除移动复制创建和查找节点
https://blog.csdn.net/qi1271199790/article/details/53869508
5.Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是?
hasOwnProperty
10.如何实现链式调用模式(jquery)
var obj={
sleep:function(){
console.log('sleep')
return this;
}
eat:function(){
console.log(eat)
return this
}
}
obj.sleep().eat()
11.属性拼接:
var deng={
wife1:{name:"xiaoliu"},
wife2:{name:"xiaoli"}
sayWife:function(num){
return this['wife' + num];
}
}
12.数组升降序:
tags.sort(function(a,b) { return a - b;});
tags.sort(function(a,b){return b-a});
a-b升序
b-a降序
13.数组去重:
https://segmentfault.com/a/1190000016418021?utm_source=tag-newest
14.关于函数:
15.vue中的watch和computed的区别
不同的是computed计算属性是基于它们的依赖进行缓存的;watch支持异步,computed不支持。对于消耗高性能的一般是watch
16:vue2.0中的for循环key值有什么用?
key的作用主要是为了高效的更新虚拟DOM。
17:为什么公司里都不用bootsrap
18:跨域问题如何解决
1.jsonp 2.代理 3.header请求里写
19.改变this的基本指向
1.new 2.箭头函数 3.call apply 4.that
20.
答案为:4 因为a[b]=3;在a对象里面 显示的是a{[object obect]:3}然后a[c]=4,c中的对象把它原来的覆盖掉了 都是[object object]所以答案为4
21: js赋值顺序/var a = {n: 1} var b = a; a.x = a = {n: 2} console.log(a.x); console.log(b.x)
主要.x的级别比一般的高,a.x=a={n:2}不是从右向左
a的输出值:{ n:2 };
b的输出值:{ n:1 , x={n:2} }
22: 、WEB 应用从服务器主动推送 a Data 到客户端有那些方式
html5 websoket
<script>标签的长时间连接(可跨域)
不可见的 Iframe
WebSocket 通过 Flash
23: 、什么是“ “ 前端路由” ”? ? 什么时候适合使用“ “ 前端路由” ”? ? “ “ 前端路由” ” 有哪些优点和
缺点? ?
1.前端路由:
路由是根据不同的 url 地址展示不同的内容或页面
前端路由就是把不同路由对应不同的内容或页面的任务交给前端来做,之前是通过服务端根据 url 的不同返回不同的页面实现的。
2,什么时候使用前端路由?
在单页面应用,大部分页面结构不变,只改变部分内容的使用
3,前端路由有什么优点和缺点?
优点
用户体验好,不需要每次都从服务器全部获取,快速展现给用户
缺点
使用浏览器的前进,后退键的时候会重新发送请求,没有合理地利用缓存
单页面无法记住之前滚动的位置,无法在前进,后退的时候记住滚动的位置
24:HTTP 一个页面从输入URL 到页面加载显示完成,这个过程中都发生了什么?
浏览器根据请求的URL交给DNS域名解析,找到真实IP,向服务器发起请求;
服务器交给后台处理完成后返回数据,浏览器接收文件(HTML、JS、CSS、图象等);
浏览器对加载到的资源(HTML、JS、CSS等)进行语法解析,建立相应的内部数据结构(如HTML的DOM);
载入解析到的资源文件,渲染页面,完成。
25.http 状态码有那些?分别代表是什么意思?
200:请求成功 404:搜索不到所需的资源 500:内部服务器错误 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息 400 语义有误,当前请求无法被服务器理解。
26.异步加载JS的方式:
1.defer,只支持 IE 2. async
27.new 操作符具体干了什么呢?
1、创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型
2、属性和方法被加入到 this 引用的对象中。
3、新创建的对象由 this 所引用,并且最后隐式的返回 this 。
28.如何判断一个对象是否属于某个类?
用instanceof constructor
29.事件、 IE 与火狐的事件机制有什么区别? 如何阻止冒泡?
IE:冒泡 firefox:捕获 e.stopPropagation();
这里说下,事件机制一般是先捕获,后冒泡,可以在add ventListener('click',function(){},false) ->false 代表冒泡 反则true->捕获
30.浏览器内核
1.IE:trident firefox:Gecko chrome:Blink safari:webkit opera:Presto
31:关于setInterval的坑:拓展
定时器 l setInterval 有一个有名函数 fn1 , setInterval ( fn1,500 ) 与
setInterval ( fn1(),500)
第一个循环,第二个只有一次
32.你用过 require.js 吗?它有什么特性
(1)实现 js 文件的异步加载,避免网页失去响应;
(2)管理模块之间的依赖性,便于代码的编写和维护。
33.关于this的问题:
全局的 this → 指向的是 Window
对象中的 this → 指向其本身
事件中 this → 指向事件对象
34.模块化开发怎么做?
浏览器端 requirejs,seajs;ES6 模块化;
35:JSON
轻量级数据交互格式,可以形成复杂的嵌套格式,解析非常方便
36.AJAX的优缺点
优点:可以使得页面不重载全部内容的情况下加载局部内容,降低数据传输量,避免用户不断刷新或者跳转页面,提高用户体验
缺点:对搜索引擎不友好;要实现 ajax 下的前后退功能成本较大;可能造成请求数的多次请求,增加跨域问题限制;
户不断刷新或者跳转页面,提高用户体验,安全问题 AJAX 暴露了与服务器交互的细节,对搜索引擎的支持比较弱。
37AJAX最大的特点:
Ajax 可以实现异步通信效果,实现页面局部刷新,带来更好的用户体验;按需获取数据,节约带宽限制
据,节约带宽资源;
38.简述AJAX的过程:
1.创建一个异步调用对象。XMLHttpRequest对象
2.创建一个新的http请求,并指定该HTTP请求的方法,URL以及验证信息
3.设置响应HTTP请求状态变化的函数
4.发送HTTP请求
5.获取异步调用返回的数据
6.使用JS和DOM实现局部刷新。
39.页面编码和被请求的资源编码如果不一致如何处理?
对于 ajax 请求传递的参数,如果是 get 请求方式,参数如果传递中文,在有些浏览器会乱码,不同的浏览器对参数编码的处理方式不同,所以对于 get 请求的参数需要使用encodeURIComponent 函数对参数进行编码处理,后台开发语言都有相应的解码 api。对于 post 请求不需要。
进行编码
40对于html新特性 语义化标签的使用
html 语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析;
41.html5新特性:
语义化标签 ,canvas,video,audio元素 表单元素等等,在上网细察补充补充,
顺便提一下canvas和svg的区别
一种是 canvas 使用js来描述的2d图形的语言
一种 svg 使用XML描述的2D图形的语言
42.sessionStorage和localStorage中的区别:
sessionStorage 和 localStorage 的存储空间更大;
sessionStorage 和 localStorage 有更多丰富易用的接口;
sessionStorage 和 localStorage 各自独立的存储空间;
43:Css中的content属性:
css 的 content 属性专门应用在 before/after 伪元素上,用来插入生成内容。最常见的应用是利用伪类清除浮动。
44:为什么利用多个域名来存储网站资源会更有效?
1.CDN缓存更方便 节约cookies带宽 防止不必要的安全问题
2.节约主域名的连接数,优化页面响应速度
45.路由中hash路由和history路由的区别
hash模式url里面永远带着#号,我们在开发当中默认使用这个模式。那么什么时候要用history模式呢?如果用户考虑url的规范那么就需要使用history模式,因为history模式没有#号,是个正常的url适合推广宣传。当然其功能也有区别,比如我们在开发app的时候有分享页面,那么这个分享出去的页面就是用vue或是react做的,咱们把这个页面分享到第三方的app里,有的app里面url是不允许带有#号的,所以要将#号去除那么就要使用history模式,但是使用history模式还有一个问题就是,在访问二级页面的时候,做刷新操作,会出现404错误,那么就需要和后端人配合让他配置一下apache或是nginx的url重定向,重定向到你的首页路由上就ok啦。
history模式(需配置mode: 'history')
46.http和https的区别
考察点:http协议 参考回答; https协议要申请证书到ca,需要一定经济成本;2) http是明文传输,https是加密的安全传输;3) 连接的端口不一样,http是80,https是443;4)http连接很简单,没有状态;https是ssl加密的传输,身份认证的网络协议,相对http传输比较安全。
47.请介绍下WebSocket的实现和应用
为C/S两端提供了实时交互通信的能力,允许服务器主动发送信息给客户端,是一种区别于HTTP的全新双向数据流协议,基于TCP。
浏览器通过JavaScript向服务端发出建立WebSocket连接的请求,在WebSocket连接建立成功后,客户端和服务端就可以通过TCP连接传输数据。
可实现实时数据、订阅推送,在WebSocket规范提出之前,采用轮询,设定的时间间隔周期性地向服务端发送请求,频繁地查询是否有新的数据改动,浪费流量和服务器资源
48:讲一下flex布局
49:懒加载和预加载图片的本质是什么,对服务器前端的影响?
预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染。 <br /> 懒加载:懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数。 两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载。<br /> 懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力。
50:TCP协议在传输层,IP协议在网络层,HTTP协议在应用层。