Apakah prinsip mod proksi JavaScript?

WBOY
Lepaskan: 2022-03-10 15:18:16
asal
2242 orang telah melayarinya

Dalam JavaScript, prinsip mod proksi adalah untuk menyediakan pengganti atau penghuni bagi objek untuk mengawal akses kepadanya dengan menyediakan proksi untuk objek, objek proksi mengawal akses kepada objek asal Rujukan ialah corak struktur objek.

Apakah prinsip mod proksi JavaScript?

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi JavaScript 1.8.5, komputer Dell G3.

Apakah prinsip mod proksi JavaScript

Proksi ialah objek (proksi) yang digunakan untuk mengawal akses kepada objek sasaran. Untuk tujuan ini, ia mesti mempunyai antara muka yang sama dengan objek sasaran, tetapi ia berbeza daripada corak penghias kerana ia tidak membuat sebarang pengubahsuaian pada objek sasaran Tujuannya adalah untuk melambatkan masa permulaan objek "kompleks". . Dengan cara ini anda boleh memulakan objek sasaran apabila ia digunakan (terutamanya penting untuk bujang).

Menyediakan pengganti atau pemegang tempat untuk objek untuk mengawal akses kepadanya

Menyediakan proksi untuk objek dan objek proksi mengawal rujukan kepada objek asal. Corak proksi ialah corak struktur objek

Terdapat dua kategori corak proksi:

(1) Proksi biasa

(2) Proksi malas

Lihat sekeping kod:

function getSomething(value) {
    if (value > 10) {
        return value * 2;
    }
}
Salin selepas log masuk

Di sini kita mentakrifkan fungsi Jika nilai yang dihantar lebih besar daripada 10, maka kita kembalikan 2 kali ganda nilainya. Um. . . Ia agak bagus, tetapi ia mempunyai kekurangannya. Fungsi melakukan terlalu banyak perkara Tujuan kami adalah untuk mendapatkan dua kali ganda nilai parameter, dan kami membuat pertimbangan bersyarat di sini. (Sudah tentu ia tidak mempunyai apa-apa kesan di sini, saya hanya memberikan contoh mudah) Fungsi yang kita mahukan hanyalah untuk mengembalikan nilai.

Melihat sekeping kod:

function getSomething(value) {
    return value * 2;
}
function proxtGet(value) {
    if (value <10) return;
    return getSomething(value);
}
Salin selepas log masuk

Kini kami telah memisahkan fungsi getSomething dan menilai untuk menggunakan proxyGet untuk melakukannya, kemudian getSomething boleh melakukan perkaranya sendiri dengan selamat.

sebenarnya adalah sejenis proksi perlindungan Kami menyediakan kaedah proxyGet untuk melindungi objek sasaran Hanya mereka yang memenuhi syarat boleh mengendalikannya.

Jika suatu hari nanti tidak perlu membuat pertimbangan, maka kita boleh terus menghubungi getSomething untuk mendapatkan hasilnya.

Berikut ialah pengenalan kepada ejen maya:

Dalam pembangunan web, perkara yang paling mahal sudah pasti permintaan rangkaian Katakan kami mempunyai senarai yang mewakili maklumat fail latar belakang senarai dan ia akan Untuk menghantar permintaan untuk membungkus fail ke latar belakang, bagi anda yang mempunyai Kirin Arm, overhed rangkaian sedemikian adalah mimpi ngeri (dengan mengandaikan bahawa keperluan masa nyata operasi ini tidak terlalu tinggi), maka kami boleh beroperasi seperti ini untuk mengurangkan overhead kecil:

function sendFile(files) {
    // 做一些操作,然后发送文件信息给后台
    console.log(&#39;发送成功&#39;);
}
var  proxySendFile = (function () {
    var caches = [];
    var timer = null;
    return function (file) {
        caches.push(file);
        if (timer) { return };
        timer = setTimeout(function () {
            sendFile(caches);
            clearInterval(timer);
            timer = null;
            caches.length = 0;
        }, 2000)
    }
}
)()
Salin selepas log masuk

Di sini sendFile ialah operasi menghantar fail Kami menggunakan proxySendFIle untuk memproksi operasi menghantar fail Hanya satu permintaan dimulakan untuk tahun 2000. Adakah anda fikir ia boleh ? Walaupun Lengan Qilin anda tidak dapat dihalang, tidak ada perbezaan antara anda dan orang lain di sini.

Cadangan berkaitan: Tutorial pembelajaran javascript

Atas ialah kandungan terperinci Apakah prinsip mod proksi JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan