前言:最近在找工作,遇到一些面试题,鄙人觉得还挺有代表性便与参考答案一并整理出来,以供广大道友参考,还望指教
1.什么是vue生命周期 ?
vue实例从被创建到销毁的一系列过程就叫vue生命周期. 也就是从开始创建、初始化数据、编译模版、挂载DOM→渲染、更新、渲染、卸载等一系列过程。
2.axios的特点有哪些
- axios是一个基于promise的HTTP库,支持promise的所有API
- 它可以拦截请求和响应
- 它可以转换请求数据和响应数据,并对响应回来的内容自动转换为json类型的数据
- 它安全性更高,客户端支持防御XSRF
3.vue父组件怎么给子组件传值?
父组件的数据要通过prop传到子组件
4.请说下具体使用vue的理解
我也不知道题目到底问些什么(是问vue的具体使用过程还是问使用vue的优缺点呢?)
5.active-class是哪个组件的属性?嵌套路由怎么定义?
vue-router模块的router-link组件
const routes = [ { path: "/", redirect: "/home" },//重定向,指向了home组件 { path: "/home", component: home, children: [ { path: "/home/game", component: game } ] } ]
6.谈谈javascript数组排序方法sort()的使用,重点介绍参数使用及内部机制?
语法:arrayObject.sort(sortby)
参数sortby可选,规定排序顺序,必须是函数
注:如果调用该方法是没有使用参数,将按字符编码的顺序进行排序,要实现这一点,首先应把数组的元素都转换成字符串,以便进行比较。
如果想按照其他的标准进行排序,就需要两个比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对排序的数字。比较函数应该具有两个参数a和b,其返回值如下:
若a<b,则返回一个小于0的值
若a=b,则返回一个0
若a>b,则返回一个大于0的值
7.简述DIV元素和span元素的区别
div是一个块级元素,span是内嵌元素。块元素相当于内嵌元素在前后各加了一个换行。其实,块元素和行内元素也不是一成不变的,只要给块元素定义display:inline,块元素就变成了内嵌元素,同样的,给内嵌元素定义了display:block就变成了块元素了。
8.说几条XHTML规范的内容(至少3条)
- 所有的标记都必须有一个相应的结束标记
- 所有标签的元素和属性的名字都必须使用小写
- 所有的xml标记都必须合理嵌套
- 所有的属性值都必须用引号“”括起来
- 所有的<和&特殊符号用编码表示
- 给所有属性赋一个值
9.对web标准化(或网站重构)知道哪些相关的知识,简述几条你知道的Web标准?
网页主要有三部分组成:结构(Structrue)、表现(presentation)和行为(Behavior)。对应的网站标准也分为三方面:
- 结构化标准语言,主要包括XHTML和XML;
- 表现标准主要包括css
- 行为标准主要包括对象模型(如W3C DOM)、ECMAScript等
10.localstorage和sessionstorage是什么?区别是什么?
localstorage和sessionstorage一样都是用来存储客户端临时信息的对象,他们均只能存储字符串类型对象
localstorage生命周期是永久的,这意味着除非用户在浏览器提供的UI上清除localstorage信息,否则这些信息将永远存在。
sessionstorage生命周期为当前窗口或标签,一旦窗口或标签被永久关闭了,那么所有通过sessionstorage存储的数据也将被清空。
不同浏览器无法共享localstorage或sessionstorage中的信息。相同浏览器的不同页面可以共享相同的localstorage(页面属于相同的域名和端口),但是不同页面或标签间无法共享sessionstorage。这里需要注意的是,页面及标签仅指*窗口,如果一个标签页包含多个iframe标签他们属于同源页面,那么他们之间是可以共享sessionstorage的。
11.如何获取一个元素的属性值
element.getAttribute('属性名称')
12.举例说明一下什么是事件委托?
事件委托就是利用冒泡的原理,把事件加到父元素或祖先元素上,触发执行效果
<ul id="ul1"> <li>111</li> <li>222</li> <li>333</li> <li>444</li> </ul> <script> window.onload = function () { var oUl = document.getElementById('ul1'); oUl.onclick = function (ev) { var ev = ev || window.event; var target = ev.target || ev.srcElement; if(target.nodeName.toLowerCase() == 'li') { alert(target.innerHTML) } } } </script>
13.json和jsonp的区别?
json返回的是一串json格式数据;而jsonp返回的是脚本代码(包含一个函数调用)
jsonp的全名叫做json with padding,就是把json对象用符合js语法的形式包裹起来以使其他的网站可以请求到,也就是将json封装成js文件传过去。