Rumah hujung hadapan web tutorial js javaScript中的this示例学习详解及工作原理_基础知识

javaScript中的this示例学习详解及工作原理_基础知识

May 16, 2016 pm 05:04 PM
Prinsip kerja

this的工作原理

如果一个函数被作为一个对象的方法调用,那么this将被指派为这个对象。

复制代码 代码如下:

var parent = {
    method: function () {
        console.log(this);
    }
};

parent.method();
//


注意这种行为非常“脆弱”,如果你获取一个方法的引用并且调用,那么this的值不会是parent了,而是window全局对象。这让大多数开发者迷惑。

复制代码 代码如下:

ThisClownCar();
//  

改动this

.call、 .apply 和.bind 方法用来操作调用函数的方式,帮我们定义this的值和传递给函数的参数值。

Function.prototype.call 可以有任意数量的参数,第一个参数被分配给this,剩下的被传递给调用函数。

复制代码 代码如下:

Array.prototype.slice.call([1, 2, 3], 1, 2)
//
Function.prototype.apply 的行为和.call类似,但它传递给函数的参数是一个数组,而不是任意参数。

String.prototype.split.apply('13.12.02', ['.'])
//  

Function.prototype.bind 创建一个特殊的函数,该函数将永远使用传递给.bind的参数作为this的值,以及能够分配部分参数,创建原函数的珂里化(curride)版本。

 

复制代码 代码如下:

var arr = [1, 2];
var add = Array.prototype.push.bind(arr, 3);

// effectively the same as arr.push(3)
add();

// effectively the same as arr.push(3, 4)
add(4);

console.log(arr);
//


作用域链中的this

在下面的例子,this将无法在作用域链中保持不变。这是规则的缺陷,并且常常会给业余开发者带来困惑。

复制代码 代码如下:

function scoping () {
  console.log(this);

  return function () {
    console.log(this);
  };
}

scoping()();
// //

有一个常见的方法,创建一个局部变量保持对this的引用,并且在子作用域中不能有同命变量。子作用域中的同名变量将覆盖父作用域中对this的引用。http://www.cnblogs.com/sosoft/

复制代码 代码如下:

function retaining () {
  var self = this;

  return function () {
    console.log(self);
  };
}

retaining()();
//  

除非你真的想同时使用父作用域的this,以及当前this值,由于某些莫名其妙的原因,我更喜欢是使用的方法.bind函数。这可以用来将父作用域的this指定给子作用域。

 

复制代码 代码如下:

function bound () {
  return function () {
    console.log(this);
  }.bind(this);
}

bound()();
//
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah syiling SOL? Bagaimanakah syiling SOL berfungsi? Apakah syiling SOL? Bagaimanakah syiling SOL berfungsi? Mar 16, 2024 am 10:37 AM

Solana Blockchain dan SOL Token Solana ialah platform blockchain yang memfokuskan pada penyediaan prestasi tinggi, keselamatan dan kebolehskalaan untuk aplikasi terdesentralisasi (dApps). Sebagai aset asli blok Solana, token SOL digunakan terutamanya untuk membayar yuran transaksi, mencagarkan dan mengambil bahagian dalam keputusan tadbir urus. Ciri unik Solana ialah masa pengesahan transaksi yang pantas dan daya pemprosesan yang tinggi, menjadikannya pilihan popular dalam kalangan pembangun dan pengguna. Melalui token SOL, pengguna boleh mengambil bahagian dalam pelbagai aktiviti ekosistem Solana dan bersama-sama mempromosikan pembangunan dan kemajuan platform. Cara Solana berfungsi Solana menggunakan mekanisme konsensus inovatif yang dipanggil Bukti Sejarah (PoH) yang mampu memproses beribu-ribu transaksi dengan cekap.

Apakah seni bina dan prinsip kerja Spring Data JPA? Apakah seni bina dan prinsip kerja Spring Data JPA? Apr 17, 2024 pm 02:48 PM

SpringDataJPA adalah berdasarkan seni bina JPA dan berinteraksi dengan pangkalan data melalui pemetaan, ORM dan pengurusan transaksi. Repositorinya menyediakan operasi CRUD, dan pertanyaan terbitan memudahkan akses pangkalan data. Selain itu, ia menggunakan pemuatan malas untuk hanya mendapatkan semula data apabila perlu, sekali gus meningkatkan prestasi.

Apakah syiling Polygon? Bagaimanakah syiling Polygon berfungsi? Apakah syiling Polygon? Bagaimanakah syiling Polygon berfungsi? Mar 16, 2024 am 09:22 AM

Polygon: Rangkaian pelbagai fungsi yang membina ekosistem Ethereum Polygon ialah platform rantaian blok pelbagai fungsi yang dibina di atas Ethereum, yang dahulunya dikenali sebagai MaticNetwork. Matlamatnya adalah untuk menyelesaikan masalah skalabiliti, yuran tinggi dan kerumitan dalam rangkaian Ethereum. Polygon menyediakan pemaju dan pengguna dengan pengalaman blockchain yang lebih pantas, lebih murah dan mudah dengan menyediakan penyelesaian berskala. Begini cara Poligon berfungsi: Rangkaian Sidechain: Poligon mencipta rangkaian berbilang rantai sisi. Rantai sampingan ini berjalan selari dengan rantaian Ethereum utama dan boleh mengendalikan jumlah urus niaga yang besar, sekali gus meningkatkan daya pengeluaran rangkaian keseluruhan. Rangka kerja Plasma: Poligon menggunakan rangka kerja Plasma, yang

Apakah syiling VET? Bagaimanakah syiling VET berfungsi? Apakah syiling VET? Bagaimanakah syiling VET berfungsi? Mar 16, 2024 am 11:40 AM

VET Coin: Ekosistem IoT berasaskan rantaian VeChainThor (VET) ialah platform berasaskan teknologi blockchain yang bertujuan untuk meningkatkan bidang Internet Perkara (IoT) dengan memastikan kredibiliti data dan membolehkan pemindahan nilai dan proses perniagaan yang selamat . Syiling VET ialah token asli blockchain VeChainThor dan mempunyai fungsi berikut: Bayar yuran transaksi: Syiling VET digunakan untuk membayar yuran transaksi pada rangkaian VeChainThor, termasuk penyimpanan data, pelaksanaan kontrak pintar dan pengesahan identiti. Tadbir urus: Pemegang token VET boleh mengambil bahagian dalam tadbir urus VeChainThor, termasuk mengundi pada peningkatan dan cadangan platform. Insentif: Syiling VET digunakan untuk memberi insentif kepada pengesah dalam rangkaian untuk memastikan

Apakah syiling SHIB? Bagaimanakah syiling SHIB berfungsi? Apakah syiling SHIB? Bagaimanakah syiling SHIB berfungsi? Mar 17, 2024 am 08:49 AM

Syiling ShibaInu: Matawang Kripto Berinspirasikan Anjing ShibaInu Coin (SHIB) ialah mata wang kripto terdesentralisasi yang diilhamkan oleh emoji Shiba Inu yang ikonik. Mata wang kripto telah dilancarkan pada Ogos 2020 dan bertujuan untuk menjadi alternatif kepada Dogecoin pada rangkaian Ethereum. Syiling Prinsip Kerja SHIB ialah mata wang digital yang dibina pada blockchain Ethereum dan mematuhi piawaian token ERC-20. Ia menggunakan mekanisme konsensus terpencar, Proof of Stake (PoS), yang membolehkan pemegang mempertaruhkan token SHIB mereka untuk mengesahkan transaksi dan memperoleh ganjaran untuk berbuat demikian. Ciri-ciri Utama Bekalan besar: Bekalan awal syiling SHIB ialah 1,000 trilion syiling, menjadikannya salah satu mata wang kripto terbesar dalam edaran. Harga rendah: S

Apakah syiling Algorand? Bagaimanakah syiling Algorand berfungsi? Apakah syiling Algorand? Bagaimanakah syiling Algorand berfungsi? Mar 17, 2024 am 08:30 AM

Algorand: Platform blockchain berdasarkan protokol konsensus Byzantine tulen Algorand ialah platform blockchain yang dibina di atas protokol konsensus Byzantine tulen, bertujuan untuk menyediakan penyelesaian blockchain yang cekap, selamat dan berskala. Platform ini diasaskan pada 2017 oleh profesor MIT Silvio Micali. Prinsip Kerja Teras Algorand terletak pada protokol konsensus Byzantine tulennya yang unik, konsensus Algorand. Protokol ini membenarkan nod mencapai konsensus dalam persekitaran tanpa amanah, walaupun terdapat nod berniat jahat dalam rangkaian. Konsensus Algorand mencapai matlamat ini melalui beberapa langkah. Penjanaan kunci: Setiap nod menjana sepasang kunci awam dan peribadi. Fasa cadangan: Nod yang dipilih secara rawak mencadangkan zon baharu

Apa itu Beam Coin? Bagaimanakah Beam Coin berfungsi? Apa itu Beam Coin? Bagaimanakah Beam Coin berfungsi? Mar 15, 2024 pm 09:50 PM

Beam Coin: Mata Wang Kripto Berfokus Privasi Beam Coin ialah mata wang kripto berfokus privasi yang direka untuk menyediakan transaksi yang selamat dan tanpa nama. Ia menggunakan protokol MimbleWimble, teknologi blockchain yang meningkatkan privasi pengguna dengan menggabungkan transaksi dan menyembunyikan alamat pengirim dan penerima. Konsep reka bentuk Beam Coin adalah untuk menyediakan pengguna dengan pilihan mata wang digital yang memastikan kerahsiaan maklumat transaksi. Dengan menggunakan protokol ini, pengguna boleh menjalankan transaksi dengan lebih yakin tanpa bimbang tentang maklumat privasi peribadi mereka dibocorkan. Ciri memelihara privasi ini menjadikan Beam Coin berfungsi Bagaimana Beam Coin berfungsi: Protokol MimbleWimble meningkatkan privasi dengan: Penggabungan transaksi: Ia menggabungkan berbilang transaksi ke dalam.

Apakah syiling AR? Bagaimanakah syiling AR berfungsi? Apakah syiling AR? Bagaimanakah syiling AR berfungsi? Mar 15, 2024 pm 07:25 PM

AR Coin: Mata wang digital berdasarkan teknologi realiti diperkukuh AR Coin ialah mata wang digital yang menggunakan teknologi realiti tambahan untuk memberikan pengguna pengalaman berinteraksi dengan kandungan digital, membolehkan mereka mencipta pengalaman yang mengasyikkan dalam dunia nyata. Cara ia berfungsi AR Coin berfungsi berdasarkan konsep utama berikut: Augmented Reality (AR): Teknologi AR menindih maklumat digital di dunia nyata, membolehkan pengguna berinteraksi dengan objek maya. Blockchain: Blockchain ialah teknologi lejar yang diedarkan yang digunakan untuk merekod dan mengesahkan transaksi. Ia menyediakan keselamatan dan ketelusan kepada syiling AR. Kontrak Pintar: Kontrak Pintar ialah kod yang disimpan pada blok blok yang digunakan untuk mengautomasikan operasi tertentu. Mereka memainkan peranan penting dalam penciptaan dan pengurusan syiling AR. Aliran kerja syiling AR adalah seperti berikut: Buat badan AR

See all articles