今天接到一个电话面试,问了我五个问题,都是比较简单的,但我居然只有答对了一半也就是两个半,因为之前一直做前后端交互了,现在又在找工作阶段,所以一直在学习VUE,而没有去学习JS,感觉很不好,今天把这几个问题写出来,以后要少吃这样的亏了把,少啰嗦了上题了
第一题:JS中有那些个数据类型
-
基本数据类型和复杂数据类型
- 1. 基本数据类型有:String、Number、Boolean
- 2. 复杂数据类型有:Object、function
- 3. 其中Object又有:Array、JSON、Null、Undefined
这一道题我没有把复杂类型和基本数据类型给分出来说,所以没给满分
第二题: typeof NaN 返回的是什么类型的,NaN == NaN吗
这个题就比较简单了,typeof NaN 返回的是个Number类型的但它又不是Number,而且自己还不等于自己,所以第二个就是false了。
第三题: 2+3+”4”+5等于多少? 2+3+true等于多少
这个题我想都没想回答就是 “2345” 后面试官告诉我这个题是2和3先相加之后再加”4”之后再加5,那么返回结果就是”545”
对于第二个问题我以为是做判断所以就说返回true然后面试官说这个结果是6,true在数学运算当中返回的1,所以是6。
第四题:函数接收到的参数是引用类型还是值类型:
这个就比较简单了,就是值类型。
我是这么认为的:传的值只是某个数值,是能被函数内部改变,而函数外部没有存储这个值就称为值类型,如果在外面声明了一个变量,并赋值,然后这个变量再传的时候,这个变量就是引用类型了。
第五题:如何判断用户使用的什么什么浏览器,版本是多少?
这个没接触过所以直接就回答了不知道,而后网上查的资料是使用navigator
- 浏览器代码名称:navigator.appCodeName
- 浏览器名称:navigator.appName
- 浏览器版本号:navigator.appVersion
- 对Java的支持:navigator.javaEnabled()
- MIME类型(数组):navigator.mimeTypes
- 系统平台:navigator.platform
- 插件(数组):navigator.plugins
- 用户代理:navigator.userAgent
以上就是我今天遇到的面试题,以后看来不能老想着什么vue,angular,react之类的框架了,基础还是很重要的。