## Js的数据类型都有哪些?
* 基本数据类型:String、Boolean、Number、undefined等
* 引用数据类型:Object(Array、Date、Function)等
<br>
## 如何判断是否是数组?
~~~
// 返回布尔值
[1,2] instanceof Array
// 返回布尔值
Array.isArray([1,2])
~~~
<br>
## 下列代码打印什么?
~~~
alert(a)
var a = 1
alert(b)
// undefined 和 报错
~~~
浏览器解析js分两次
1. 找到var声明变量,赋值undefined
2. 真正执行代码
<br>
## Js里面有哪几个值在if判断的时候是false?
False、0、“”、undefined、null、NaN
<br>
## 下边的代码输出什么?
~~~
console.log("11"+1-"2") //109
~~~
字符串加任何数据都会拼接成变成字符串
<br>
## 下边的代码输出什么?
~~~
var a = {}
a.val = 1
b = a
b.val = 2
alert(a.val) // 2
~~~
引用类型内存里面存的是内存地址,这个内存地址指向真正的值,a和b都是那个内存地址,所以他们指向同一个对象,所以b修改属性val,a的也会修改
<br>
## 以下代码输出什么?
~~~
var flag = 2;
flag > 1 || alert(1) // 不弹窗
flag < 1 || alert(2) // 弹窗输出2
flag > 1 && alert(3) // 弹窗输出3
flag < 1 && alert(4) // 不弹窗
~~~
或的话左边为true右边不执行,与的话左边为false,右边不执行
<br>
## "==" 和 "===" 有什么不同?
一个值判断,后一个是值和类型都判断
<br>
- 初级前端题
- 必会
- http协议
- 跨域
- cookie与storage
- 移动端问题
- 性能优化
- Vue全家桶
- 有哪些常用的es6语法?
- 项目
- 闭包
- JSON
- 数据类型与运算
- 数组
- DOM
- 字符串
- 要会
- async与await
- 正则
- this
- 数据加密
- 实时获取数据
- 原生ajax
- 异步打印
- css相关
- 杂七杂八
- webpack
- 一般
- mvvm模式
- 异步请求
- XSS
- 其他dom问题
- 冷门
- 浏览器缓存机制
- 新
- 浏览器事件轮询
- Promise
- 树的深度优先与广度优先
- 拷贝
- 继承
- Vue
- 跨域
- 排序
- 浏览器
- 浏览器入门
- 浏览器内核知识
- 浏览器渲染原理
- 浏览器性能调优
- 自动化构建
- 字符编码
- git
- 一些题目
- 其他
- 逻辑思维题
- 互联网公司招聘信息如何阅读
- bat面试