js底層運行機制 代碼演示 VO/GO

js底層運行機制 代碼演示 VO/GO

VO 變量對象
GO 全局對象
ECStack 執行環境棧
EC 全局執行上下文

    var a = 12;
    var b = a;
    b = 13;
    console.log(a);

在這裏插入圖片描述


     var a = { n: 12 };
     var b = a;
     b['n'] = 13;
     console.log(a.n);

在這裏插入圖片描述


     var a = { n: 12 };
     var b = a;
     b = { n: 13 };
     console.log(a.n);

在這裏插入圖片描述


  /* 
  1.創建值
  - 開闢一個堆 AAAFFF000
  - 儲存鍵值對
      name : '你好'
      fn : 自執行函數執行,需要把obj.name 的值當做實參傳遞過來,這個時候obj還沒關聯 ==》 undefined.name
      //  Cannot read property 'name' of undefined   ==》 undefined不能讀name屬性
  */
    var obj = {
        name: '你好',
        fn: (function(x) {
            return x + 10;
        })(obj.name)
    };
    console.log(obj.fn);

在這裏插入圖片描述


    var a = { n: 1 };
    var b = a;
    a.x = a = { n: 2 };
    console.log(a.x); //undefined
    console.log(b);  /* 
    	var a = { n: 1 };
        var b = a;
        a.x = a = { n: 2 };
        console.log(a.x);
        console.log(b); */

	a.x = {n : 2} ; // 先創建一個堆 空間AAAFFF111,AAAFFF111 和 a.x 關聯 
	a = {n :2 } ;  // 在把 AAAFFF111 和a關聯

在這裏插入圖片描述


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章