javascript两种function的定义介绍及区别说明_javascript技巧
一般情况下两者的调用结果是一样的,但是还是有区别的。
第一种方式:
function a(){
alert('old');
}
var b=a;
function a(){
b();
alert('new');
}
a();//浏览器就会出现内存溢出的情况
第二种方式:
function a(){
alert('old');
}
var b=a;
var a=function(){
b();
alert('new');
}
a();//浏览器就会按顺序alert出‘old'和‘new'
这里就可以很明显区分两个方式的区别了。定义的顺序不同。
第一种,刚开始其实没有重新定义 a 这个function 而在里面执行了其本身。
第二种方式, a = function () 这里没有执行到 function 里面的代码 a 已经被重新定义了。所以这里的重定义是有效的
补充1:
function a(){
alert('old');
}
var b=a;
function a(){
b();
alert('new');
}
编译时: 首先a被定义为alert("old"), 接着又被定义成b();alert("new");
运行时: b = function a(){b();alert("new");}, 此时b和a一样, 函数体中直接调用b, 无论从a调用还是从b调用结果都一样, 产生堆栈溢出
另一方面
function a(){
alert('old');
}
var b=a;
var a=function(){
b();
alert('new');
}
编译时: a被定义为alert("old")
运行时: b=function a(){alert("old")}; a=function(){b();alert("new")}; 此时b的函数体中不包括ab中任何一个, a只调用b... 无论怎样都不会产生堆栈溢出...
补充2:
一般来说,都会用第一种的写法来避免代码污染,但如果你需要保留原function,就要用第二种写法,反正两种方法都是符合w3c的。
事实上第一种写法是后来才有的,这种写法是经过优化的。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Fungsi bermaksud fungsi. Ia adalah blok kod yang boleh digunakan semula dengan fungsi tertentu Ia boleh menerima parameter input, melakukan operasi tertentu, dan mengembalikan hasil daripada blok yang boleh digunakan semula. kod untuk meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod.

Dalam artikel ini, kita akan belajar tentang fungsi enumerate() dan tujuan fungsi "enumerate()" dalam Python. Apakah fungsi enumerate()? Fungsi enumerate() Python menerima pengumpulan data sebagai parameter dan mengembalikan objek penghitungan. Objek penghitungan dikembalikan sebagai pasangan nilai kunci. Kuncinya ialah indeks yang sepadan dengan setiap item, dan nilainya ialah item. Syntax enumerate(iterable,start) Parameters iterable - Yang diluluskan dalam pengumpulan data boleh dikembalikan sebagai objek enumeration, dipanggil iterablestart - Seperti namanya, indeks permulaan objek enumeration ditakrifkan oleh permulaan. kalau kita abaikan

Penjelasan terperinci tentang peranan dan fungsi jadual MySQL.proc ialah sistem pengurusan pangkalan data relasi yang popular Apabila pembangun menggunakan MySQL, mereka sering melibatkan penciptaan dan pengurusan prosedur tersimpan (StoredProcedure). Jadual MySQL.proc ialah jadual sistem yang sangat penting Ia menyimpan maklumat yang berkaitan dengan semua prosedur tersimpan dalam pangkalan data, termasuk nama, definisi, parameter, dsb. prosedur tersimpan. Dalam artikel ini, kami akan menerangkan secara terperinci peranan dan kefungsian jadual MySQL.proc

Penggunaan dan Fungsi Fungsi Vue.use Vue ialah rangka kerja bahagian hadapan yang popular yang menyediakan banyak ciri dan fungsi berguna. Salah satunya ialah fungsi Vue.use, yang membolehkan kami menggunakan pemalam dalam aplikasi Vue. Artikel ini akan memperkenalkan penggunaan dan fungsi fungsi Vue.use dan memberikan beberapa contoh kod. Penggunaan asas fungsi Vue.use adalah sangat mudah, cuma panggilnya sebelum Vue diwujudkan, menghantar pemalam yang anda ingin gunakan sebagai parameter. Berikut ialah contoh mudah: //Perkenalkan dan gunakan pemalam

Kaedah file_exists menyemak sama ada fail atau direktori wujud. Ia menerima sebagai hujah laluan fail atau direktori untuk diperiksa. Inilah kegunaannya - ia berguna apabila anda perlu mengetahui sama ada fail wujud sebelum memprosesnya. Dengan cara ini, apabila mencipta fail baharu, anda boleh menggunakan fungsi ini untuk mengetahui sama ada fail itu sudah wujud. Syntax file_exists($file_path) Parameter file_path - Tetapkan laluan fail atau direktori untuk disemak kewujudan. Diperlukan. Kembalikan kaedah file_exists() kembali. Mengembalikan TrueFalse jika fail atau direktori wujud, jika fail atau direktori tidak wujud Contoh mari kita lihat semakan untuk fail "candidate.txt" dan walaupun fail

Penggunaan fungsi fungsi js ialah: 1. Fungsi Isytihar; 3. Parameter fungsi; 5. Fungsi tanpa nama;

Dengan perkembangan Internet, SOA (seni bina berorientasikan perkhidmatan) telah menjadi seni bina teknikal yang penting dalam sistem peringkat perusahaan hari ini. Perkhidmatan dalam seni bina SOA boleh digunakan semula, disusun semula dan diperluaskan, di samping memudahkan proses pembangunan dan penyelenggaraan sistem. Sebagai bahasa pengaturcaraan Web yang digunakan secara meluas, PHP juga menyediakan beberapa perpustakaan fungsi untuk melaksanakan SOA. Seterusnya, kami akan memperincikan cara menggunakan fungsi SOA dalam PHP. 1. Konsep asas SOA ialah idea dan seni bina sistem teragih.

Pengenalan kepada antara muka Fungsi dalam Java 8 Java 8 menyediakan antara muka berfungsi Fungsi Antara muka ini mewakili melakukan beberapa operasi pada parameter dan kemudian mengembalikan nilai selepas operasi. Antara muka ini mempunyai kaedah abstrak yang digunakan, yang menunjukkan operasi pada parameter. //Definisi antara muka JavaFunction @FunctionalInterfacepublicinterfaceFunction{Rapply(Tt);defaultFunctioncompose(Function
