20190423面试记录

1)apply,call,bind的区别 ?

应用场景:用于改变this的指向

apply接收两个参数,第一个函数this将指向的对象,第二个是数组函数接收的参数

call接收多个参数,第一个函数this将指向的对象,后面依次是函数接收的参数

bind接收多个参数,第一个函数this将指向的对象,后面依次是函数接收的参数,不会执行该函数,而是会返回已经改变了this的实例

2)v-for 和 v-if哪个先执行

v-for先执行

3)下面代码是怎么执行的

var newPromise=new Promise(function(resolve,reject){
    console.log(1)
    resolve();
    console.log(2)

})
newPromise.then(function(){
   console.log(3)
})
console.log(4)

1243,只有then里面的函数是回调的

4)  angular的脏值检查?

1、检查数据模型的值发生改变时(仅限于内置的指令及方法 1、用户输入,点击,提交   2、请求服务端数据  3、定时事件)

2、会执行$digest遍历监听器判断脏值(判断新的值和旧的值是否相同)

3、如果有脏值(值发生了变化)则持续进行$digest直到值稳定不在发生变化,才会在view里渲染出来

function Scope() {
  this.$$watchers = [];
}
var aScope = new Scope();
aScope.firstName = 'Jane';
aScope.lastName = 'Smith';

Scope.prototype.$watch = function(watchFn, listenerFn) {
  var watcher = {
    watchFn: watchFn,
    listenerFn: listenerFn
  };
  this.$$watchers.push(watcher);
};

Scope.prototype.$digest = function() {
  var self = this;
  _.forEach(this.$$watchers, function(watch) {
    var newValue = watch.watchFn(self);
    var oldValue = watch.last;
    if (newValue !== oldValue) {
      watch.listenerFn(newValue, oldValue, self);
    }
    watch.last = newValue;
  });  
};

 

5)angular里面的service,factory,provide有什么区别?

1、相同点使用时都是通过依赖注入来使用

2、定义时的差别

factory相当于提供一个方法,通过这个方法定义一个对象,并且给这个对象添加属性和方法,返回这个对象

service的话是直接给this添加属性和方法

provider的话必须体统$get方法该方法和factory一样,并且在加载module时启动时进行配置

 

6)AngularJS,Vue,React的优缺点?

不同点:

1、AngularJS有依赖注入,双向数据绑定,兼容ie8及ie8以上,使用脏检查,学习成本比较大

2、React函数式编程JSX语法,兼容性好,对javascript基础要求较高

3、Vue只兼容ie8以上版本,采用依赖追踪并且使用异步队列更新,所有数据的都是独立触发的,容易上手

相同点:

1、React和Vue都有虚拟dom,单向数据流

2、Vue与AngularJS都有模板语法

 

7)angular的常用方法$eval()?

$eval(expression, locals)立刻解析和计算出一个 scope 表达式

$destroy从 scope 链里移除该 scope; scope 和后代们不会收到事件, watcher 也不再被触发。

$broadcast(evt, args)发送事件 evt, 在当前scope 以及它 所有的 children 上触发。

$emit(evt, args)发送事件 evt, 在scope 链上冒泡,在当前scope 以及所有的 $parents 上触发,包括 $rootScope。

$watch(watchExp, listener, objectEquality)为scope添加一个 watch 监听器。

 

posted @ 2019-08-13 16:13  LLC-Mite  阅读(100)  评论(0编辑  收藏  举报