Rumah  >  Soal Jawab  >  teks badan

Penggunaan ini - Soalan tentang ini dalam Javascript Apabila fungsi dipanggil sebagai kaedah objek, ini merujuk kepada objek unggul.

Saya melihat persekitaran penggunaan kedua apabila tuan memperkenalkan ini, teks asal ada di sini:
http://www.ruanyifeng.com/blo...
Objek o di sini sepatutnya ini? Jika ya mengapa ini paling tidak kongruen?

function test(){
    console.log(this.x);
  }
  var o = {};
  o.x = 1;
  o.m = test;
   console.log(o.m());
   console.log(o===this);

Keluaran ialah:
1
palsu

淡淡烟草味淡淡烟草味2660 hari yang lalu664

membalas semua(4)saya akan balas

  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-14 10:56:15

    Ini===tetingkap dalam paparan global

    balas
    0
  • 漂亮男人

    漂亮男人2017-06-14 10:56:15

    Apabila console.log() dilaksanakan dalam persekitaran global, ini sudah tentu menghala ke tetingkap
    ini menunjukkan kepada persekitaran pelaksanaan semasa fungsi

    balas
    0
  • PHP中文网

    PHP中文网2017-06-14 10:56:15

    o.m() secara tersirat mengikat ini pada objek o
    Dalam skop global, ini menunjukkan kepada objek global

    balas
    0
  • 仅有的幸福

    仅有的幸福2017-06-14 10:56:15

    Sila ingat bahawa terdapat satu lagi kaedah panggilan func.call(konteks, x, m). Kedua-dua kaedah di atas hanyalah gula sintaktik

    function test(){
        console.log(this.x);
      } 

    bersamaan dengan

    function test(){
        console.log(this.x);
      }
    test.call(undefined)

    Secara logiknya, yang dicetak ini sepatutnya tidak ditentukan

    Tetapi terdapat peraturan dalam penyemak imbas:

    Jika konteks yang anda lalui adalah batal atau tidak ditentukan, maka objek tetingkap ialah konteks lalai (konteks lalai dalam mod ketat tidak ditentukan)

    Jadi perkara di atas sepatutnya sepadan dengan tetingkap.

    balas
    0
  • Batalbalas