面试题1:Object.is()与原来的比较操作符"=“、”” 的区别?
答案:
(1)两等号判等,会在比较时进行类型转换;
(2)三等号判等(判断严格),比较时不进行隐式类型转换,(类 型不同则会返回false);
(3)Object.is 在三等号判等的基础上特别处理了NaN、-0和+0,保证-0和+0不再相同,但
Object.is(NaN, NaN)会返回true。Object.is应被认为有其特殊的用途,而不能用它认为它比其它的相等对比更宽松或严格。
面试题2:common.js和es6中模块引入的区别?
答案:
CommonJS是一种模块规范, 最初被应用于Nodejs, 成为Nodejs的模块规范。运行在浏览器端的JavaScript由于也缺少类似的规范,在ES6出来之前,前端也实现了一套相同的模块规范(例如: AMD),用来对前端模块进行管理。自ES6起,引入了一套新的ES6 Module规范,在语言标准的层面.上实现了模块功能,而且实现得相当简单,有望成为浏览器和服务器通用的模块解决方案。但目前浏览器对ES6 Module兼容还不太好,我们平时在Webpack中使用的export和import,会经过Babel转换为CommonJS规范。在使用上的差别主要有:
CommonJS 模块输出的是一个值的拷贝, ES6 模块输出的是值的引用;
CommonJS模块是运行时加载,ES6 模块是编译时输出接口;
Common]s 是单个值导出,ES6 Module可以导出多个;
Common]s是动态语法可以写在判断里,ES6 Module静态语法只能写在顶层。
面试题3:JavaScript有几种方法判断变量的类型?
答案:
(1)使用typeof检测当需要判断变量是否是number, string, boolean, function, undefined等类型时,可以使用typeof进行判断。
打开全栈工匠技能包-1小时轻松掌握SSR
两小时精通jq+bs插件开发
生产环境下如歌部署Node.js
网易内部VUE自定义插件库NPM集成
谁说前端不用懂安全,XSS跨站脚本的危害
webpack的loader到底是什么样的?两小时带你写一个自己loader
加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0