国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Javascript 函數的四種調用模式

2019-11-19 19:03:36
字體:
來源:轉載
供稿:網友

Javascript 函數的四種調用模式

1  函數模式

     最普通的函數調用

// 聲明式函數function fn1 () {   console.log(this);}// 函數表達式函數var fn2 = function() {   console.log(this);};// 調用 函數中this表示全局對象,在瀏覽器中就是指windowfn1();   //windowfn2();   //window

 2 方法模式

     函數依附于一個對象,是對象的一個屬性,我們再調用這個函數。這種模式就是方法調用模式。

var obj = {  name: "zhangSan",  sayHi: function () {    console.log(this);  }};obj.sayHi(); //obj對象

3 構造器調用模式

即是構造函數的調用,一般是通過new + 函數名( ),這種模式和以上的方法模式沒本質的區別

function Person() {}var tom = new Person(); // 這就是構造器函數的調用 // 構造函數調用的詳細過程// 1 會在內部創建一個對象o// 2 給對象賦值(this), 然后執行各種操作// 3 返回這個對象o// 構造函數的返回值: // //  有一個默認的返回值,新創建的對象(實例); //  當手動添加返回值后(return語句): //     1. 返回值是基本數據類型-->真正的返回值還是那個新創建的對象(即實例) //    2. 返回值是復雜數據類型(對象)-->真正的返回值是這個對象

4 上下文模式

本質--對象借用不屬于該對象的方法(函數),即我們自定義this的指向

這時候就需要call和apply這兩個方法

//Function.prototype.call ()  //Function.prototype.apply ()  //――>任何函數都可以調用call和apply方法  // 第一個參數控制this的指向,第二個參數:        在使用 上下文調用的 時候, 原函數(方法)可能會帶有參數, 那么這個參數在上下文調用中使用 第二個( 第 n 個 )參數來表示
//偽數組  var o={ 0:10,1:20,length:2 };  //讓o對象借用數組的push方法來添加元素  //[].push.call(o,30,50,70)  [].push.apply(o,[1,2,3])  console.log(o);//其中對象o中length屬性的值也會改變的哦

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涞源县| 墨玉县| 册亨县| 中江县| 巴青县| 丹东市| 游戏| 洞口县| 商南县| 那坡县| 沂水县| 浦县| 安陆市| 武冈市| 陵川县| 德惠市| 横山县| 陆河县| 乐平市| 交城县| 正阳县| 玛多县| 江阴市| 筠连县| 安图县| 三江| 辽阳县| 尤溪县| 奉化市| 洪湖市| 陵川县| 镇巴县| 马山县| 亚东县| 昭觉县| 福建省| 兴海县| 荆州市| 舞钢市| 习水县| 奉节县|