日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

第四章(变量、作用域、内存问题)

發布時間:2025/7/25 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第四章(变量、作用域、内存问题) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本類型的值在內存中固定大小的空間,引用類型的值是對象,保存在堆內存中

閉包的理解:

  • http://www.cnblogs.com/dolphinX/archive/2012/09/29/2708763.html
  • https://segmentfault.com/a/1190000000652891
  • http://www.maintao.com/2015/js-functional-programming-1/

閉包的應用場景:

  • setTimeout/setInterval
  • 回調函數(callback)
  • 事件句柄(event?handle)
  • 保護函數內的變量安全:如迭代器、生成器。
  • 在內存中維持變量:緩存數據、柯里化。
  • 保護內部變量
  • 防止污染上層作用域
  • 避免全局變量的污染
  • 私有成員的存在
  • 模塊化代碼---jq插件
  • JS中, this的值取決于調用的模式, 而JS中共有4中調用模式:1. 方法調用模式 當一個函數被保存為對象的一個屬性時, 我們稱它為一個方法, 當一個方法被調用時, this指向該對象, 如: var obj = { value: 1, getValue: function() { alert(this.value); } }; obj.getValue(); // 輸出1, 此時的this指向obj 注意: 該模式中, this到對象的綁定發生在方法被調用的時候.2. 函數調用模式 當一個函數并非一個對象的屬性時, 它被當作一個函數來調用, 此時的this指向全局對象(window), 如: window.value = 1; function getValue() { alert(this.value); } getValue(); // 輸出1, 此時的this指向window.3. 構造器調用模式 結合new前綴調用的函數被稱為構造器函數, 此時的this指向該構造器函數的實例對象, 如: function show(val) { this.value = val; }; show.prototype.getVal = function() { alert(this.value); }; var func = new show(1); func.getVal(); // 輸出1 alert(func.value) // 輸出1 // 從上面的結果, 可以看出, 此時的this指向了func對象.4. apply/call調用模式 apply和call方法可以讓我們設定調用者中的this指向誰, 如: var fun = function(str) { this.status = str; } fun.prototype.getStatus = function() { alert(this.status); } var obj = { status: "loading" }; fun.prototype.getStatus.apply(obj); // 輸出"loading", 此時getStatus方法中的this指向了obj

    ?

    轉載于:https://www.cnblogs.com/mr-pz/p/5906111.html

    總結

    以上是生活随笔為你收集整理的第四章(变量、作用域、内存问题)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。