小题解析

66 阅读1分钟

小题解析

null与undefined

    // console.log(typeof null);//表示为“无”对象 0
    // console.log(typeof undefined);//表示"无"的原始值 NaN
    //什么时候出现undefined,有四种情况
    //1.第一种已经声明了,未赋值
    // let a;
    // console.log(a);
    //2.对象某个属性不存在
    // let obj = {}
    // console.log(obj.a);
    //3.函数调用少了参数
    // function fn(a,b) {
    //     console.log(a,b);
    // }
    // fn(4)
    // 构造函数除外 构造函数的当前构造函的对象
    // 4.函数的默认返回值
    // function abcd() {
    //     console.log("11");     
    // }
    // console.log(abcd());
    // null
    //1.手动释放内存
    //2.作为函数的参数(此参数不是对象)
    //3.5原型链的顶端
    // let obj = {}
    // obj = null;
</script>

foreach()与map()

 // foreach
    // 1.没有返回值
    // 2.不能用break打断
    // 3.遍历的是value
    // let arr = ['a','b','c']
    // let res = arr.forEach(element => {
    //     console.log(element);
    //     return element + '1'
    // })
    // console.log(res);
    
    // map
    // 1.是有返回值的(数组)默认return是undefined
    // 2.接受的参数是函数(key,value)
    // 3.不能用break
    // let arr = ['a','b','c']
    // let value = arr.map((value,key) => {
    //     return value + '1'
    // })
    // console.log(value);

ES6相关题

        // 1.声明提升 =>先上车后买票
        // console.log(num);  // undefined
        // var num = 123

        // 变量覆盖
        // var num1 = 12 
        // var num1 = 34
        // console.log(num1); //34

        // var 不是块级作用域
        // function fn2() {
        //     for (var i =0; i < 3; i++) {
        //         console.log(i);
        //     }
        //     console.log(i);
        // }
        // fn2()

        // const
        // 1.const声明之后必须赋值,否则就报错
        // 2.定义的值不能被修改,否则报错
        // 3.支持let的其他属性
        // 4.一般定义常量,需要大写,一般都是全局的
        // const demo;
        // const demo = 123
        // demo = 456
        // console.log(demo);

        // 解构相关的题
        // let a = 1;
        // let b = 2;
        // [a,b] = [b,a]
        // console.log(a,b);

        // ES6数组去重
        // let arr = [12,43,23,12,43,55]
        // let item = [...new Set(arr)]
        // console.log(item);

        // 标杆 =>构造函数同步执行
        // const promise = new  Promise((resolve,reject)=>{
        //     console.log(1);
        //     resolve();
        //     console.log(2);
        // })
        // // .then异步执行
        // promise.then(() =>{
        //     console.log(3);
        // })
        // console.log(4);

Es6------filter

    // 1.current => 当前值  2.index=> 当前值的下标 3.这个数组对象
    let b = a.filter((current,index,arr) =>{
        return current < 10
    })
    console.log(a);
    console.log(b);

递归实现1-100求和

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