前端开发面试中常常问到的问题

这里先对所遇到的问题进行一个总结吧:

一、 网络请求中get和post的区别(虽然我之前背的滚瓜烂熟,但是面试中还是说的不是很全面)

get 请求一般用来从服务器端获取数据,但是也可以提交数据。post请求一般用来把数据发送给服务器端。

区别:

1 参数位置,get请求的参数放到url里面,post请求放到请求体中,

2 浏览器缓存,get请求可以被浏览器缓存,post请求是不能被缓存的,

3 参数长度,get请求受限,post不受限,不同浏览器和服务器不同,一般在2-8k之间

4 安全性,因为参数存放位置get请求的安全性相对较差,post较好

5 get请求通过浏览器直接访问,支持刷新和后退,post请求不能被浏览器浏览器直接访问,刷新后需要重新传送。

、使用原生Ajax上传文件?(确实没遇到过)

暂时略过。。。学会再加。。。

三、vue中的自定义指定如何实现?(说实话,我很少用到,虽然学过但是还是有点懵)

  一、定义语法:

            (1).局部指令:

                     new Vue({                                                 new Vue({

                         directives:{指令名:配置对象}   或               directives{指令名:回调函数}

                        })                                                                })

            (2).全局指令:

                    Vue.directive(指令名,配置对象) 或   Vue.directive(指令名,回调函数)

 二、配置对象中常用的3个回调:

           (1).bind:指令与元素成功绑定时调用。

           (2).inserted:指令所在元素被插入页面时调用。

           (3).update:指令所在模板结构被重新解析时调用。

new Vue({
	directives:{
		fbind:{
			//指令与元素成功绑定时
			bind(element,binding){
				element.value = binding.value
			},
			//指令所在元素被插入页面时
			inserted(element,binding){
				element.focus()
			},
			//指令所在的模板被重新解析时
		    update(element,binding){
				element.value = binding.value
			}
		}
	}
})

四、计算属性和普通函数的区别

用途:通过计算属性我们能拿到处理后的数据, 但是通过函数我们也能拿到处理后的数据

区别:函数不会将计算的结果缓存起来, 每一次访问(调用)都会重新求值。

计算属性会将计算的结果缓存起来, ,数据发生变化则会重新调用。只要数据没有发生变化, 就不会重新求值

计算属性:比较适合用于计算不会频繁发生变化的的数据

五、监视属性如何监视路由的变化

1.监听路由从哪里来到那里去

watch:{$route(to,from){ console.log(to) ;console.log(from)}}

2.监听路由变化前后新旧值

watch:{$route:handler(newvalue,oldvalue){console.log(newValue,oldValue)} deep:true}

六、$router和$route的区别

$router是用来操作路由的,是VueRouter的一个实例,包含了跳转方法等

$route是用来获取路由信息的。是路由信息对象

比如:使用this.$router.push() 来进行路由跳转

使用this.$route.meta 来获取路由的meta信息

七、常见的行内元素,块级元素以及空元素

1.行内元素有:

a(锚点),b(粗体(不强调使用)),span(常用内联容器,定义文本内区块),img(图片),input(输入框),select(项目选择),strong(粗体强调),label(表格标签),cite(引用),code(计算机代码)

2.块级元素有:

div ul(无序列表)ol(有序列表)dl(定义列表)table(表格)form(表单)h1(一级标题)p(段落)pre(预格式化)

3.常见的空元素有:

<br>  <hr>  <img>  <input>  <link>  <meta>

八、Vue中计算属性与监视属性的区别

computed和watch都是用于监听数据变化的属性

computed计算属性
1 如果函数所依赖的属性没有发生变化,从缓存中读取
2 必须有return返回
4 使用方法和data中的数据一样,但是类似一个执行方法
watch监听器
1 watch的函数名必须和data中的数据名一致
2 watch中的函数有俩个参数,新旧
3 watch中的函数是不需要调用的
4 只会监听数据的值是否发生改变,而不会去监听数据的地址是否发生改变,要深度监听需要配合deep:true属性使用 immediate:true 页面首次加载的时候做一次监听
区别
功能
:computed是计算属性,watch是监听一个值的变化而执行对应的回调
是否调用缓存:computed函数所依赖的属性不变的时候会调用缓存;watch每次监听的值发生变化时候都会调用回调
是否调用return:computed必须有;watch可以没有
使用场景:computed当一个属性受多个属性影响的时候;;watch当一条数据影响多条数据的时候,例如搜索框
是否支持异步:computed函数不能有异步;watch可以。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值