Rumah hujung hadapan web tutorial js 有关js的变量作用域和this指针的讨论_javascript技巧

有关js的变量作用域和this指针的讨论_javascript技巧

May 16, 2016 pm 06:13 PM
penunjuk ini skop berubah-ubah

一、变量作用域:[P71]

这一句话说的非常精辟:“在ECMAScript中,只有两种执行环境,全局环境和函数环境,每个函数都是一个执行环境,包括嵌套函数。换句话说,其他情况下即使变量声明在一对大括号中,在括号外部仍然可以访问这些变量”。以下给出例子:
复制代码 代码如下:

for(var i=0; ivar num = 20; // 在for语句中声明的变量
}
alert(num); // 在for语句外部调用变量,仍然可以得到num的值

对异常语句也同样可以:
复制代码 代码如下:

try {
var num = 20; // 在try语句中声明的变量
a = b; // 引起一个异常
} catch(e) {
alert(num); // 在catch语句中调用变量,将得到20
} finally {
alert(num); // 在finally语句中调用变量,将得到20
}
alert(num); // 在try语句外部调用变量,将得到20

除了上面所演示的这两种语句外,一对大括号也无法构成一个执行环境,例如:
复制代码 代码如下:

{ var num = 1;3 }

二、this指针:[P83]

在这里列出this在ECMAScript中的不同含义:

(1) 在全局执行环境中使用this,表示Global对象,在浏览器中就是window对象。

(2) 当在函数执行环境中使用this时,情况就有些复杂了。如果函数没有明显的作为非window对象的属性,而只是定义了函数,不管这个函数是不是定义在另一个函数中,这个函数中的this仍然表示window对象。如果函数显示地作为一个非window对象的属性,那么函数中的this就代表这个对象。(当然可以使用apply或者call函数来取代默认this的引用,详见[P88])

(3) 当通过new运算符来调用函数时,函数被当做一个构造函数,this指向构造函数创建出来的对象。
参考:
《JavaScript基础与案例开发详解》清华大学出版社
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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Bagaimanakah skop pembolehubah fungsi PHP ditentukan? Bagaimanakah skop pembolehubah fungsi PHP ditentukan? Apr 16, 2024 pm 04:51 PM

Skop pembolehubah dalam PHP dibahagikan kepada tempatan (dalam fungsi), global (boleh diakses dalam program), dan skop kelas (boleh diakses dalam contoh kelas). Kata kunci global boleh mengisytiharkan pembolehubah tempatan sebagai pembolehubah global, dan kata kunci statik boleh mengisytiharkan pembolehubah tempatan sebagai pembolehubah statik, mengekalkan nilainya di antara panggilan fungsi.

Pemahaman mendalam tentang kitaran hayat fungsi Golang dan skop pembolehubah Pemahaman mendalam tentang kitaran hayat fungsi Golang dan skop pembolehubah Apr 19, 2024 am 11:42 AM

Dalam Go, kitaran hayat fungsi termasuk definisi, pemuatan, pemautan, pemulaan, panggilan dan skop pembolehubah dibahagikan kepada tahap fungsi dan tahap blok Pembolehubah dalam fungsi boleh dilihat secara dalaman, manakala pembolehubah dalam blok hanya kelihatan dalam blok .

Skop pembolehubah dan kitaran hayat dalam bahasa Go Skop pembolehubah dan kitaran hayat dalam bahasa Go Jun 01, 2023 pm 12:31 PM

Bahasa Go ialah bahasa taip statik sumber terbuka Ia mempunyai ciri-ciri kesederhanaan, kecekapan dan kebolehpercayaan, dan semakin digemari oleh pembangun. Dalam bahasa Go, pembolehubah ialah bentuk penyimpanan data yang paling asas dalam program Skop dan kitaran hayat pembolehubah adalah sangat penting untuk ketepatan dan kecekapan program. Skop pembolehubah merujuk kepada keterlihatan dan kebolehcapaian pembolehubah, iaitu di mana pembolehubah boleh diakses. Dalam bahasa Go, skop pembolehubah dibahagikan kepada pembolehubah global dan pembolehubah tempatan. Pembolehubah global ialah pembolehubah yang ditakrifkan di luar fungsi dan boleh digunakan di mana-mana dalam keseluruhan program

Bagaimana untuk menentukan skop pembolehubah dalam fungsi Golang? Bagaimana untuk menentukan skop pembolehubah dalam fungsi Golang? Apr 11, 2024 pm 12:27 PM

Dalam Go, skop fungsi mengehadkan keterlihatan pembolehubah kepada fungsi di mana pembolehubah diisytiharkan: Isytiharkan pembolehubah dalam fungsi: varnametype=value Skop dihadkan kepada blok kod yang diisytiharkan dan fungsi lain atau blok bersarang tidak boleh mengakses pembolehubah ini.

Skop pembolehubah PHP 5.6: Bagaimana untuk menentukan pembolehubah statik menggunakan kata kunci statik Skop pembolehubah PHP 5.6: Bagaimana untuk menentukan pembolehubah statik menggunakan kata kunci statik Jul 30, 2023 pm 11:02 PM

Skop pembolehubah PHP5.6: Cara menggunakan kata kunci statik untuk menentukan pembolehubah statik Dalam PHP, skop pembolehubah menentukan keterlihatan dan skop akses pembolehubah. Pembolehubah statik ialah jenis pembolehubah khas yang mengekalkan nilainya tidak berubah antara panggilan fungsi. Dalam PHP5.6 dan ke atas, anda boleh menggunakan kata kunci statik untuk menentukan pembolehubah statik di dalam fungsi dan kaedah kelas. Ciri-ciri pembolehubah statik ialah: skop pembolehubah statik terhad kepada fungsi atau kaedah di mana ia diisytiharkan. Pembolehubah statik digunakan antara fungsi atau panggilan kaedah

Cara menggunakan pembolehubah dalam PHP Cara menggunakan pembolehubah dalam PHP May 20, 2023 pm 02:33 PM

PHP ialah bahasa pembangunan web yang sangat popular yang membolehkan pembangun mencipta aplikasi web dinamik pada bahagian pelayan. Dalam PHP, pembolehubah ialah struktur data asas yang digunakan untuk menyimpan nilai dan data. Artikel ini akan memperkenalkan cara menggunakan pembolehubah dalam PHP. Sintaks Asas Pembolehubah Sintaks untuk mengisytiharkan pembolehubah dalam PHP adalah sangat mudah. Nama pembolehubah bermula dengan tanda dolar ($), diikuti dengan nama pembolehubah. Nama boleh ubah boleh menjadi gabungan huruf, nombor atau garis bawah, tetapi ia mesti bermula dengan huruf atau garis bawah. Sebagai contoh, kod berikut mengisytiharkan nama

Gunakan fungsi locals() Python untuk mendapatkan pembolehubah dalam skop semasa Gunakan fungsi locals() Python untuk mendapatkan pembolehubah dalam skop semasa Aug 21, 2023 pm 09:52 PM

Gunakan fungsi locals() Python untuk mendapatkan pembolehubah skop semasa Dalam Python, locals() ialah fungsi terbina dalam yang boleh digunakan untuk mendapatkan semua pembolehubah dalam skop semasa. Fungsi ini mengembalikan kamus yang mengandungi semua nama pembolehubah dan nilai yang sepadan dalam skop semasa. Semasa proses pengaturcaraan, adalah sangat berguna untuk mengetahui pembolehubah dalam skop semasa, terutamanya semasa peringkat penyahpepijatan, yang boleh membantu kita melihat nilai dan status pembolehubah. Fungsi locals() menyediakan fungsi ini dengan tepat. Bawah

Apakah skop pembolehubah fungsi Golang Apakah skop pembolehubah fungsi Golang Dec 22, 2023 pm 02:39 PM

Skop pembolehubah fungsi Golang merujuk kepada keterlihatan dan kitaran hayat pembolehubah di dalam fungsi. Mengikut kedudukan dan skop pembolehubah dalam fungsi, pembolehubah boleh dibahagikan kepada tiga jenis: pembolehubah tempatan, pembolehubah parameter dan pembolehubah nilai pulangan. Pengenalan terperinci: 1. Pembolehubah setempat ialah pembolehubah yang ditakrifkan di dalam fungsi dan hanya boleh digunakan di dalam fungsi. Skopnya terhad kepada di dalam fungsi, termasuk semua blok kod dan blok kod bersarang bagi fungsi; parameter input yang diterima oleh fungsi dan boleh digunakan di dalam fungsi Skopnya terhad kepada bahagian dalam fungsi, dsb.

See all articles