6道js数据基础面试题

收集整理了几道js数据基础面试题,在此分享一下。

(1)typeof能得到几种数据类型?

能得到7种类型,基本类型中除了null以外都能识别,引用类型中除了函数以外都不能识别。

基本类型
typeof 123 // number
typeof '123' // string
typeof true // boolean
typeof undefined // undefined
typeof null // object
引用类型
typeof console.log // function
typeof {} // object
typeof [] // object
ES6 
typeof Symbol() // symbol
typeof new Set() // object
typeof new Map() // object
复制代码
(2)哪些情况会出现强制类型转换?
  1. ==运算
25 == '25' // true
0 == '' // true
null == undefined // true
复制代码
  1. +号字符串拼接
25 + 25 // 50
25 + '25' // 2525
10 + 20 + '30' // 3030
复制代码
  1. 逻辑运算
10 && 20 // 20
0 && 20 // 0 (0转成false)
!! 10 // true (转成布尔类型)
'' || 20 // 20
window.abc // undefined
!window.abc // true
复制代码
  1. if语句
var a = 10;
if (a) {
    // 执行
}

var a = 0;
if (a) {
    // 不执行
}

var a = '';
if (a) {
    // 不执行
}

null、undefined、0、''、NaN 会转换成false
复制代码
(3)什么时候使用===,什么时候使用== ?
if (obj.a == null) {
    // 判断属性是否存在时用==
}

function a(x, y) {
    if (x == null) {
        // 判断参数是否存在时用==
    }
}

除此之外都应该用===
复制代码
(4)js中有哪些内置函数?
  1. Object
  2. Array
  3. Function
  4. Date
  5. RegExp
  6. Error
  7. String
  8. Number
  9. Boolean
    ES6
  10. Symbol
  11. Set
  12. Map
  13. Promise

Math、JSON不是函数,是对象。

(5) js中数据按照存储方式可以分为哪几种类型,各有什么特点?
  1. 基本类型(null、undefined、string、number、boolean)
    特点:每个变量是独立存在的。
var a = 10;
var b = a;
a = 20;
console.log(b); // 10
复制代码
  1. 引用类型 (object、array、function)
    特点: 多个变量共同引用内存中同一段地址,相互影响。
    出现的原因: 引用类型的数据一般非常复杂,如果多个变量存储同一个对象,会非常浪费内存空间。
var a = {x: 10};
var b = a;
a.x = 20;
console.log(b.x); // 20
复制代码
(6) 如何理解JSON?
  1. JSON是一种数据格式,也是js对象。
  2. JSON可以表示3种类型的值:基本类型(除undefined)、对象、数组,不支持变量、函数、对象实例。
  3. 序列化 JSON.stringify({a: 10,b: 20})
  4. 解析 JSON.parse('{"a": 10, "b": "abc"}')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值