zoukankan      html  css  js  c++  java
  • 第四章:执行环境与作用域

    基本类型与与i引用类型的值
    基本数据类型(按值访问,可以操作保存变量值实际的值)
    Undefined
    Null
    Boolean
    Number
    String
    引用类型(不能直接操作变量的值不能直接访问内存中值,是通过引用访问的)
    复制保存对象的某个值操作的是对象的引用,但是给对象添加属性时操作的是对象

    传递参数
    js中所有的函数是按值传递的也就是说吧函数外部的值复制给函数内部的参数
    var obj={
    name:'hxq',
    age:22
    }
    var obj1=obj;
    function fn(obj) {
    obj.name='222'
    console.log(obj)
    };
    fn(obj1); //{name: "222", age: 22}
    console.log(obj)//{name: "222", age: 22}





    函数中对象的值是按值传递的
    !(function () { //对象的按值传递or按引用传递在函数中 function setName(obj) { obj.name = 'hxq'; // var obj1=obj; // obj1.name='csa'; obj = {};//直接操作obj操作的是传的值 obj.name=222; } var obj = {}; setName(obj); console.log(obj.name) ; //hxq })()
    !(function () {
            /*检测类型*/
             /*typeof
             所用引用类型的值都是Object的实例
             * instanceof
             * */
             console.log([] instanceof Object);
             console.log({} instanceof Object);
    
        })()
    
        !(function () {
            /*执行环境与作用域链
            * 执行环境定义了变量或函数有权访问的其他数据每个执行环境都有一个与之关联的变量对象、
            * 环境中定义的所有变量和函数都保存在这个对象中(window)
            * 某个执行环境中所有代码执行结束后,保存在其中的所用变量与函数定义也随之被销毁(例如函数内部的执行环境)
            * 全局执行环境知道用用程序退出例如关闭网页或者浏览器
            * 每个函数都有自己的执行环境,当执行流进入一个函数时,函数的环境会被推入一个环境栈中,函数执行结束后,栈将环境弹出,
            *       把控制权交给之前的执行环境
            * 当代码在一个环境中执行的时候,会创建变量对象的一个作用域链
            * */
        })()
  • 相关阅读:
    清理计算机硬盘
    DIY-组装
    go函数类型的使用
    go同步互斥锁
    Go读写文件
    go mod
    go html
    channel
    arp和rarp协议
    自己实现的反射
  • 原文地址:https://www.cnblogs.com/aqigogogo/p/7595730.html
Copyright © 2011-2022 走看看