1. undefined 和 null 的区别
-
undefined 是一个未定义的值
-
null 是一个空值
2.js有几种数据类型,其中基本数据类型有哪些?
-
js有7种数据类型。
-
基本数据类型为:string number boolean null undefined symbol
-
引用类型有:Array object function
3.var let const 有什么区别
-
var:只有全局作用域和函数作用域,有变量提升,可以跨块访问
-
let: 只能在块作用域里访问,不能跨块访问,也不能跨函数访问 不允许重复声明
-
const:用来定义常量,定义的时候要赋值,定义后不允许被修改
4. js对于string,number等基础类型,==和===有什么区别
-
"=="比较的是“转化为同一类型的后的值”是否相等
-
"==="如果类型不同,结果就不相同
-
对于Array和Object 等高级类型来说 两者没区别 同队指针地址进行比较
5.forEach、for in 、 for of三者的区别
-
Foreach:更多用来循环遍历数组
-
For In:遍历数组或者JSON 出来的结果为key(索引)
-
For of:遍历数组 出来的结果为value(值)
6.ajax是什么?以及如何去创建它?
-
ajax是异步的javascript和XML 是一种用于创建快速动态网页的技术
6.1 如何创建ajax
-
创建Xhr核心对象
-
调用open准备发送
-
如果为Post请求,必须设置请求头
-
调用send发送请求
-
监听异步回调 判断readyStatus =200 接口请求成功
-
7.箭头函数与普通函数的区别?
-
外形的区别
-
箭头函数是匿名函数,而普通函数可以是匿名也可以是具名函数
-
箭头函数不能用于构造函数,也不能使用new,普通函数可以
-
箭头函数this指向不同
-
箭头函数不具有arguments对象
-
箭头函数没有原型属性
-
箭头函数不能当做Generator函数,不能使用yield关键字
8.json和jsonp的区别以及优缺点,应用场景
-
JSON:是数据交换格式
-
优点是:兼容性广泛,轻量级,可读性强,容易编写和解析
-
缺点是:没有错误处理,安全性差,支持的工具有限
-
JSONP:非官方跨越数据交互协议,可用于解决主流浏览器的跨域数据访问的问题
-
优点是:可实现跨域同源策略,兼容性更好
-
缺点是:只能支持GET请求,失败不返回状态码,安全性差