Rumah  >  Soal Jawab  >  teks badan

javascript - Soalan tentang ini

Seperti yang ditunjukkan dalam gambar, adakah anda ingin bertanya kepada semua orang, mengapa parameter pertama tetingkap foo.call()?

给我你的怀抱给我你的怀抱2663 hari yang lalu882

membalas semua(6)saya akan balas

  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-07-05 11:08:26

    Malah, kunci kepada masalah ialah kita tidak memahami peranan fungsi panggilan/guna. Dalam istilah rasmi, ini bermakna menukar konteks skop, tetapi di sini konteks setempat ditukar kepada tetingkap. Sebenarnya, panggilan/terapkan adalah kaedah "membunuh seseorang dengan pisau yang dipinjam", iaitu, jika anda tidak mempunyai atribut atau kaedah tertentu, dan kemudian anda ingin memanggil atribut atau kaedah objek lain, ia adalah juga kaedah pelaksanaan pewarisan objek.

    balas
    0
  • 高洛峰

    高洛峰2017-07-05 11:08:26

    Sebenarnya, ia tidak semestinya Windows, dan lebih baik menggunakan panggilan Anda hanya perlu mengisytiharkan var that=this dalam f dan menulis ini daripada fungsi penutupan ini kerana fungsi penutupan tidak boleh secara langsung dapatkan pembolehubah persekitaran fungsi atas Anda hanya boleh mendapat angin, jadi kenyataan itu ok Jika anda tidak faham, anda boleh bertanya kepada saya

    balas
    0
  • 滿天的星座

    滿天的星座2017-07-05 11:08:26

    Jika ia adalah bahagian hadapan, fungsi ini mempunyai parameter yang tidak kelihatan ini, yang secara lalai menghala ke tetingkap pembolehubah global.
    Melainkan anda menukar objek yang ditunjuk oleh ini, seperti foo.call (objek lain)
    Ayat asal menggunakan parameter lalai ini
    Anotasi dengan jelas menyatakan bahawa ini menghala ke tetingkap

    Saya akan menulis beberapa ayat lagi, jika tidak, saya akan menjelaskannya

    var foo = function () {
      console.log(this.x);
    }
    foo();为什么this指向window呢
    

    Selain itu, semantik ini adalah untuk menunjuk kepada objek yang memanggil fungsi ini.
    Setiap fungsi memerlukan objek untuk dipanggil
    obj.f() bermakna f dipanggil oleh obj
    Jika bahagian hadapan tidak menyatakan objek panggilan, lalai ialah tetingkap pembolehubah global untuk memanggil fungsi

    balas
    0
  • 怪我咯

    怪我咯2017-07-05 11:08:26

    Apabila JavaScript direka, ini dalam fungsi dalaman (iaitu fungsi dalam badan fungsi) akan terikat pada objek global (iaitu tetingkap saya rasa ulasan di sini foo.call(window) hanya perlu menggunakan bahasa js untuk menjelaskan mengapa ini.x masuk). foo() akan mengeluarkan 10.

    balas
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-07-05 11:08:26

    Ia tidak mengatakan bahawa parameter pertama foo.call mestilah tetingkap Perkara utama soalan ialah untuk memahami apa itu panggilan.

    https://developer.mozilla.org...

    balas
    0
  • 阿神

    阿神2017-07-05 11:08:26

    Anda boleh memahami fungsi dan perbezaan panggilan, gunakan, dan ikat

    balas
    0
  • Batalbalas