筆記_變量、作用域和內存問題

12 篇文章 0 订阅
12 篇文章 0 订阅

檢測基本類型使用 typeof ..
檢測一個引用類型值和 Object 構造函數時,可使用 instanceof 操作符,它檢測引用類型始終會返回True,如果使用 instanceof 操作符檢測基本類型的值,那麼會返回 False。

所有引用類型的值都是 Object 的實例

執行環境(execution context),簡稱:環境 、作用域。(JS中最重的一個概念)

执行环境類型分兩種:全局環境 | 局部環境

延長作用域链:

  • try-catch
    //會將指定的對象添加到作用域鏈中。
  • with
    //會創建一個新的變量對象,其中包含拋出的錯誤對象的聲明。
function buildUrl() {
        var qs = "?debug=true";

        with (location) {
            var url = href + qs;
        }
        return url;
    }

    console.log(buildUrl());

每個環境都可以向上搜索作用域鏈,以查詢變量和函數名,但任何環境都不能通過向下搜索作用域鏈而進入另一個執行環境。

JavaScript 中 if 語句中的變量聲明會將變量添加到當前的執行環境中。
(由 for 語句創建的變量【i】,即使 for 循環執行結束後,也依舊會存在於循環外部的執行環境中。)

一旦數據不再有用。最好通過將其值設置為 null 來釋放其引用——(解除引用)

引用類型的值是對象,保存在堆內存中。

基本類型值在內存中佔據固定大小的空間,因此被保存在栈內存中。

——參考高程(4章)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值