• javascript 备忘


    javascript虽然还没有类的概念,他仍然有两种数据类型,原始基本类型和引用类型
    原始类型的数据保存为简单值,交互时可以直接访问变量里的数值本身,五种基本类型
    引用类型保存为对象,javascript不允许直接访问内存位置,所以不能直接访问到对象的内存位置,因此操作对象时是对该对象的引用进行操作
     
    简单类型复制的时候会复制,分开存放
    Apple1 = Apple2
    而引用类型是复制时存放在variable object的值也会复制一份到新的变量中,但复制的值是指向堆里的原始对象,因此该对象变动会反应在其他引用里
    var obj1 = new Object();
    var obj2 = obj1;
    obj1.name = “Nicholas”; alert(obj2.name); //”Nicholas”
     
     
     
    javascript允许人们像使用引用类型一样使用原始类型,为了看起来保持一致性
    其他语言把原始类型存放在栈(stack)里,而引用类型存放在堆(heap)里
    javascript把变量放在一个变量对象里(variable object),原始类型直接存放在这个对象里面,而引用类型只是作为指针指向对象被存储的内存位置
     
    函数里面的参数都是通过复制值到函数的local object来运算,因此传入是引用类型,那么复制的是对该对象的引用,即使在函数里操作也会影响该对象本身。而在函数内部创建的对象会被保存在本地对象,即使名字和外部传进来的参数一样,也不会相互影响,因为存储位置不同
     
    每个运行上下文都有一个与之相关联的变量对象,该上下文里的所有变量和函数对在该对象上,这个对象是不能通过开发者代码访问到的
     
    全局的运行上下文是最外层的,取决于宿主环境对ecmascript的实现,在浏览器里,指的是window对象。当一个运行上下文里的代码运行完之后,对应对象就会销毁,例如关闭浏览器,全局上下文被销毁
     
    函数有自己的运行上下文,当代码调用函数,该函数的运行上下文就会加入运行上下文栈里,当函数执行完毕,栈就会释放,控制权归还给之前的运行上下文
  • 相关阅读:
    mysql环境搭建
    php基础:查看上次插入的主键和影响的行数及关闭mysql连接
    php基础:文件包含与引用 require和include的区别
    php基础:echo和print_r和var_dump的区别
    php基础:变量检测
    php基础:动态变量名
    php基础:代码的短路特性和运算符优先级
    php基础:三元运算符及比较3个数的大小
    php基础:字符串基本函数
    php基础:数组的定义和遍历
  • 原文地址:https://www.cnblogs.com/chuangweili/p/5163308.html
Copyright © 2020-2023  润新知