js面试题(每日更新4道题)

1.js基本数据类型

字符串 string 数值 number 布尔 boolean null undefined 对象 数组

2.Ajax如何使用

一个完整的Ajax请求包括5个步骤:

  • 创建XMLHTTOPRequest对象
  • 使用open方法创建http请求,并设置请求地址xhr.open(get/post,url,async,true(异步),false(同步))经常使用前三个参数
  • 设置发送的数据,用send发送请求
  • 注册事件(给ajax设置事件)
  • 获取响应并且更新页面

3.如何判断一个数据是NaN

NaN非数字 但是用typeof检测是number类型

利用NaN的定义,用typeof判断是否为number类型并且判断是否满足isnan

利用NaN是唯一一个不等于任何自身的特点 n !== n

利用ES6中提供的Object.is()方法(判断两个值是否相等) n == NaN

  • js中null与undefined区别

相同点:用if判断时,两者都会被转化为false

不同点:number转换的值不同number(null)为0

​ number(undefined)为NaN

undefined变凉声明但是未赋值

4.闭包是什么?有什么特性?对页面会有什么影响?

闭包可以简单理解成:定义在一个函数内部的函数。其中一个内部函数在包含它们的外部函数之外被调用时,就会形成闭包。

特点:

  • 函数嵌套函数
  • 函数内部可以引用外部的参数和变量
  • 参数和变量不会被垃圾回收机制回收

使用:

  • 读取函数内部的变量
  • 这些变量的值始终保存在内存中,不会在外层函数调用后被自动清除

优点:

  • 变量长期驻扎在内存中
  • 避免全局变量的污染
  • 私有成员的存在

缺点:

  • 会造车内存泄漏
上一篇:jquery当中toggleClass的用法


下一篇:Vue进行跳转时出现: Cannot read properties of undefined (reading '$router')