JS面试题第一章

undefined和null

console.log(typeof undefined);
console.log(typeof null);

都表示的是无

但是null表示的是无 对象 0

undefined表示的是无的原始值

undefined的情况

// 几种情况
let o
console.log(o); // undefined

// 已经声明没有赋值

// 对象的某个属性不存在
let obj = {}
console.log(obj.name);

// 3.少传参
function fn(a, b) {
    console.log(a, b);
}
fn(4) // 4 undefined

// 4.函数的默认返回值undefined
function fn1() {
    return
}
console.log(fn1());

null的情况

//  null
// 手动释放内存
let obj = {}
obj = null 

// 2.作为函数的参数
// 此参数不是对象
// 3.null是原型链的顶端

过滤器分析

let a = [1, 2, 3, 4, 5]
let b = a.filter((current, index, array) => {
    console.log(current);
    console.log(index);
    console.log(array);
    return current > 2
})
console.log(b);
// 1.current当前值
// 2.index当前索引
// 3.array当前数组对象

forEach与map()

let arr = ["1", "2", "33"]
let res = arr.forEach(element => {
    return element + "哈哈"
})
console.log(res);
// 得到了一个undefined
// foreacth是没有返回值的
// forEach是不能break的
// 遍历的具体值是value值

// map
let arr1 = ["1", "2", "33"]
let res1 = arr1.map((value, key) => {
    return value + "111"
})
console.log(res1);
// map有返回值的
// 返回值就是一个数组 默认return是undefined
// 接收参数是一个函数(value,key)
// 不能用break打断

JS实现递归

// 递归求和1-100
function add(num1, num2) {
    let num = num1 + num2
    if (num2 + 1 > 100) {
        return num
    }
    return add(num, num2 + 1)
}
let sum = add(1, 2)
console.log(sum);

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值