码迷,mamicode.com
首页 > Web开发 > 详细

js基础之--变量 作用域和内存问题

时间:2019-07-24 09:38:29      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:类型   cti   def   全局   因此   number   code   bool   bsp   

  基本类型:Undefind Null Boolean Number String

  引用类型: 对象

  在操作对象时,实际上实在操作对象的引用而不是实际的对象。为此,引用类型的值是按引用访问的。

  从一个变量向另一个变量赋值引用类型的值,同样也会将存储在对象中的值赋值一份放到为新变量分配的空间中。不同的是,这个值的副本实际上是一个指针,而这个指针指向存储在堆中的一个对象

<script>
    var arr = {name:"jiayu"}
    doSomeThing(arr);
    console.log(arr);  //{name: "new"}

    function doSomeThing(obj){
        obj.name = ‘new‘;
        obj = new Object();
    }
</script>

 

  在web浏览器中,全局执行环境被认为是window对象,因此所有全局变量和函数都是作为window对象的属性和方法创建的。某个执行环境的所有代码执行完毕后,该环境被销毁,保存在

其中的所有变量和函数定义也随之销毁(全局执行环境直到阴影程序退出--例如关闭网页或者浏览器时才会被销毁)

  标识符解析是沿着作用域链一级一级的搜索标识符的过程。搜索过程始终从作用域链的前端开始,然后逐级的向后回溯,直到找到标识符为止(如果找不到标识符,通常代表着错误发生

 

  js中没有块级块级作用域

<script>
    if(1){
        var demo = ‘123‘;
    }
    console.log(demo); //123
</script>

 

js基础之--变量 作用域和内存问题

标签:类型   cti   def   全局   因此   number   code   bool   bsp   

原文地址:https://www.cnblogs.com/cl94/p/11235560.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!