大家好,欢迎来到IT知识分享网。
1、settimeout和setinterval区别?
setTimeout只在指定时间后执行一次,setInterval为指定时间周期循环执行,一般情况下,setTimeout用于延迟执行某方法或功能,setInterval则一般用于刷新表单,对于一些表单的实时指定时间刷新同步
2、 什么是闭包(closure),为什么要用它
闭包是指有权访问另一个函数作用域中变量的函数,创建闭包最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用域链,将函数内部的变量和方法传递给外部。
为什么用:就是为了防止变量污染,但是用多了会内存泄漏
3、call()/apply() 作用与区别
相同点:
- 都是用来间接调用函数,都可以显示调用所需的this,即任何函数可以作为任何对象的方法来调用;
- 两个方法都可以指定调用实参
不同点:
- call:使用其自有的实参列表作为函数的参数
- apply:要求以数组的形式传入参数
4、Ajax的同步和异步区别?
async默认是true,即为异步方式,$.ajax执行后,会继续执行ajax后面的脚本,知道服务器返回数据后,触发$.ajax里的success方法
若将其设置为false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以
5、介绍下Vue 双向绑定原理
通过数据劫持和发布-订阅者功能来实现的
1.实现一个监听者Oberver来劫持并监听所有的属性,一旦有属性发生变化就通知订阅者
2.实现一个订阅者watcher来接受属性变化的通知并执行相应的方法,从而更新视图
3.实现一个解析器compile,可以扫描和解析每个节点的相关指令,并根据初始化模板数据以及初始化相对应的订阅者
6、Vue的生命周期和作用?
每个vue实例在被创建时都要经过一系列的初始化过程——例如:需要设置数据监听、编译模板、将实例挂载到DOM并在数据变化时更新DOM等。同时在这个过程中也会运行一些叫做’生命周期钩子’的函数,这给用户在不同阶段添加自己代码的机会
7、请说明下Vue.use的作用?
通过全局方法Vue.use()使用插件,Vue.use会自动阻止多次注册相同插件,他需要在你调用new Vue()启动应用之前完成。
8、 import require 的区别
遵循规范
- require 是 AMD规范引入方式
- import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法
调用时间
- require是运行时调用,所以require理论上可以运用在代码的任何地方
- import是编译时调用,所以必须放在文件开头
本质
- require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量
- import是解构过程,但是目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语法会被转码为require
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/48599.html