1. 遍历对象的属性:通过for..in语法可以遍历一个对象

    var obj = {};
    for (var i = 0; i < 10; i++) {
    obj[i] = i * 2;
    }
    for(var key in obj) {
    console.log(key + "==" + obj[key]);
    }

    1. 删除对象的属性

    function fun() {
    this.name = 'mm';
    }
    var obj = new fun();
    console.log(obj.name); // mm
    delete obj.name;
    console.log(obj.name); // undefined

    1. 简单类型和复杂类型的区别

    基本类型又叫做值类型,复杂类型又叫做引用类型值类型:
    简单数据类型,基本数据类型,在存储时,变量中存储的是值本身,因此叫做值类型。引用类型:
    复杂数据类型,在存储是,变量中存储的仅仅是地址(引用),因此叫做引用数据类型。

    • 堆和栈

    堆栈空间分配区别:
    1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。
    2、堆(操作系统): 存储复杂类型(对象),一般由程序员分配释放, 若程序员不释放,由垃圾回收机制回收。

    • 注意:JavaScript中没有堆和栈的概念,此处我们用堆和栈来讲解,目的方便理解和方便以后的学习。
      • 基本类型在内存中的存储

    449cb4d370e8dc93aa4ac520f815453.png

    • 复杂类型在内存中的存储

    89ca26eaff1cda4022fcb4d19aad0c6.png

    • 基本类型作为函数的参数

    7ebabe1ff8ab3e9bf8651baa3beebcc.png

    • 复杂类型作为函数的参数

    e319945f0966ff02f754c8f935e2cde.png