成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

詳解apply的用處

CoyPan / 3130人閱讀

摘要:舉幾個簡單的例子的用途改造一下上面的例子調(diào)用一個函數(shù)的方法有很多可以用函數(shù)表達式調(diào)用,也可以直接調(diào)用。還有一種方法是用調(diào)用接受兩個參數(shù),第一個參數(shù)是函數(shù)運行時指向的第二個參數(shù)是一個數(shù)組里面存放函數(shù)的參數(shù)。

先談this
關(guān)于this的指向就不細說了,網(wǎng)上有無數(shù)博客以及you don"t kown js這類書講的已經(jīng)很詳細了這里就不炒冷飯了。
舉幾個簡單的例子
function foo() {
    console.log(this);
}
    
foo() //window

var obj = {
    job: "doctor",
    show: function() {
        console.log(this.job); //job
        console.log(this === obj); //true
    }
}
obj.show();
apply的用途
改造一下上面的例子
var obj = {
    job: "doctor",
}
function foo(str) {
    console.log(this); //obj
    console.log(str);  //hi
}
foo.apply(obj,["hi"]);
調(diào)用一個函數(shù)的方法有很多可以用函數(shù)表達式調(diào)用,也可以直接調(diào)用。還有一種方法是用apply調(diào)用
apply接受兩個參數(shù),第一個參數(shù)是函數(shù)運行時指向的this,第二個參數(shù)是一個數(shù)組里面存放函數(shù)的參數(shù)。
也就是我們可以手動更改this的指向,再次看上面的代碼我們讓函數(shù)foo中的this指向了obj,還接受了一個字符串"hi"
那么反過來我們是否可以在foo中對obj的屬性進行賦值呢?答案是肯定的
再次更改代碼
var obj = {
    job: "doctor",
}
function foo(str) {
    this.books = ["One Hundred Years of Solitude", "Gone with the wind"]
}
foo.apply(obj,["hi"]);
console.log(obj); // {job: "doctor", books: Array(2)}
apply的用處無所不在,比如將nodelist轉(zhuǎn)為數(shù)組,類型檢測這些網(wǎng)上同樣有很多例子
apply與函數(shù)式編程
如果我們有聲明一個數(shù)組并想得到數(shù)組中每一個元素的值我們可以這么做
var arr = ["katana", "chunks", "shurken"];
for(var i = 0;i
但是這種聲明式的寫法是不是有些丑陋?讓我們換一種寫法
function forEach(list, callback) {
    for(var n = 0; n           
               
                                           
                       
                 

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/93507.html

相關(guān)文章

  • Js apply()使用詳解

    摘要:方法詳解我在一開始看到的函數(shù)和時非常的模糊看也看不懂最近在網(wǎng)上看到一些文章對方法和的一些示例總算是看的有點眉目了在這里我做如下筆記希望和大家分享如有什么不對的或者說法不明確的地方希望讀者多多提一些意見以便共同提高主要我是要解決一下幾個問題和 Js apply方法詳解我在一開始看到j(luò)avascript的函數(shù)apply和call時,非常的模糊,看也看不懂,最近在網(wǎng)上看到一些文章對apply...

    iOS122 評論0 收藏0
  • Angular1.x中ngModel$render詳解

    摘要:我們下面來看看的源碼這是其中一個,在不同的指令下的代碼都不太一樣,但是其作用基本一致,但是從這里我們就可以看出的到底在干什么事了。 這篇文章是我兩年前在博客園寫的,現(xiàn)在移植過來,不過Angular 1.x 在國內(nèi)用的人已經(jīng)不多了,希望能幫助到有需要的人 在我開始著手 ngModel 的領(lǐng)域時候,有一個問題很令我糾結(jié),那就是 $render 到底是做什么的呢?查了很多資料都只是簡單的描述...

    Euphoria 評論0 收藏0
  • 怎樣使用this

    摘要:構(gòu)造器的調(diào)用這其實很簡單,就是使用創(chuàng)建的是一個對象,而不是一個函數(shù)這里的指向的就是上的。但需要注意在構(gòu)造器內(nèi)不能顯示的返回一個對象否則你的實例化就會被破壞。 this的使用 關(guān)于js里面有哪些難點,艸,js里面全是難點。。。什么閉包,原型,函數(shù),對象,類型檢測,this。。。但是作為一名正統(tǒng)的前端愛好者而言---這點痛算什么。今天我們來解決this這個點。由于牽扯到this,則必定會牽...

    cppowboy 評論0 收藏0
  • Cordova 打包簽名 Android release app 過程詳解及cordova創(chuàng)建app

    摘要:很久之前就想寫這篇博客,但是一直沒有時間,今天抽空來整理一下,總結(jié)一下的創(chuàng)建打包簽名。 很久之前就想寫這篇博客,但是一直沒有時間,今天抽空來整理一下,總結(jié)一下cordova的創(chuàng)建、打包、簽名apk。對于cordova所需的打包環(huán)境,如node,cordova的安裝,這里就不再多說,度娘上有很多... 1.cordova命令創(chuàng)建一個項目 cordova create testApp co...

    objc94 評論0 收藏0
  • 20190725筆記-apply詳解

    摘要:語法參數(shù)這個對象將替代類里的對象可選在函數(shù)運行時使用的值。如果該參數(shù)的值為或,則表示不需要傳入任何參數(shù)。更簡單的講就是將和傳入函數(shù)執(zhí)行。 學(xué)了那么久前端,對apply、call這兩個函數(shù)的用法,還不是很掌握。今天看了很多網(wǎng)上的文章,我總結(jié)和歸納下用法。 Function.prototype.apply() apply() 方法調(diào)用一個具有給定this值的函數(shù),以及作為一個數(shù)組(或類似數(shù)...

    wzyplus 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<