1、JS 中判断数据类型的方法有几种?
- 最常见的判断方法: typeof
- 判断已知对象类型的方法:instanceof
- 根据对象的 constructor判断: constructor
- 无敌万能的方法:jquery.type()
2、vue与angular的区别?
- vue 仅仅是 mvvm 中的 view 层,只是一个如jquery 般的工具库,而不是框架,而 angular 而是 mvvm 框架。
- vue 的双向邦定是基于 ES5 中的 getter/setter 来实现的,而 angular 而是由自己实现一套模版编译规则,需要进行所谓的“脏”检查,vue 则不需要。因此vue 在性能上更高效,但是代价是对于 ie9 以下的浏览器无法支持。
- vue 需要提供一个 el 对象进行实例化,后续的所有作用范围也是在 el 对象之下,而 angular 而是整个 html 页面。一个页面,可以有多个 vue 实例,而 angular好像不是这么玩的。
- vue 真的很容易上手,学习成本相对低,不过可以参考的资料不是很丰富,官方文档比较简单,缺少全面的使用案例。高级的用法,需要自己去研究源码,至少目前是这样。
3、说说你对 angular 脏检查理解?
在 angular 中你无法判断你的数据是否做了更改,所以它设置了一些条件,当你触发这些条件之后,它就执行一个检测来遍历所有的数据,对比你更改的地方,然后执行变化。
这个检查很不科学。而且效率不高,有很多多余的地方,所以官方称为 脏检查。