Rumah hujung hadapan web tutorial js 函数声明的两种形式的区别

函数声明的两种形式的区别

Sep 08, 2018 pm 04:49 PM
pengisytiharan fungsi

我们知道关键字function用来定义函数;函数定义可以写成函数定义表达式,也可以写成语句的形式。例如下面的两种写法

var f = function(x){return x+1;}   //将表达式赋值给一个变量  函数表达式
function f(x){return x+1;}         //含有变量的语句        函数声明
Salin selepas log masuk

尽管函数声明语句和函数定义表达式包含相同的函数名;但它们之间还是有区别的。
相同点:两种方式都创建了新的函数对象;两者都会被“提前”(函数语句中定义的函数被显示的提前到脚本或则函数的顶部,因此它们在整个脚本内可见);
不同点:函数声明语句中函数名是一个变量名,变量指向函数对象。和通过var声明变量一样,函数语句中定义的函数被显示的提前到脚本或则函数的顶部,因此它们在整个脚本内可见;
1.使用var只有变量声明提前--变量的初始化任然在原来的位置,然而使用函数声明语句的话函数名称和函数体均提前
总结:简单的说函数表达式的方式(也就是var声明方式)函数只有在var语句声明之后才能被调用;而函数声明(也就是function声明方式)函数可以在函数声明之前调用。
这些情况是 因为函数表达式是在函数运行的阶段才赋值给变量f;而函数声明在代码运行之前,也就是代码解析阶段就已经赋值给了变量f
我们可以看下面的代码:

console.log(f,"函数前")
var f = function (x) {
      return x + 1;//函数表达式
 }
console.log(f,"函数后")
Salin selepas log masuk

而这段代码运行的结果:

aaa1.png

console.log(f,"函数前")
function f(x) {
   return x + 1;//函数声明
}
console.log(f,"函数后")
Salin selepas log masuk

结果:

aaa2.png

Atas ialah kandungan terperinci 函数声明的两种形式的区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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)

Parameter lalai dalam pengisytiharan fungsi C++: analisis komprehensif tentang pengisytiharan dan penggunaannya Parameter lalai dalam pengisytiharan fungsi C++: analisis komprehensif tentang pengisytiharan dan penggunaannya May 02, 2024 pm 03:09 PM

Parameter lalai dalam C++ menyediakan keupayaan untuk menentukan nilai lalai untuk parameter fungsi, dengan itu meningkatkan kebolehbacaan kod, kesederhanaan dan fleksibiliti. Isytihar parameter lalai: Tambahkan simbol "=" selepas parameter dalam pengisytiharan fungsi, diikuti dengan nilai lalai. Penggunaan: Apabila fungsi dipanggil, jika parameter pilihan tidak disediakan, nilai lalai akan digunakan. Kes praktikal: Fungsi yang mengira jumlah dua nombor Satu parameter diperlukan dan satu lagi adalah pilihan dan mempunyai nilai lalai 0. Kelebihan: Kebolehbacaan yang dipertingkatkan, peningkatan fleksibiliti, pengurangan kod plat dandang. Nota: Ia hanya boleh dinyatakan dalam pengisytiharan, ia mestilah pada penghujungnya, dan jenisnya mestilah serasi.

Apakah kesan susunan pengisytiharan dan definisi fungsi C++? Apakah kesan susunan pengisytiharan dan definisi fungsi C++? Apr 19, 2024 pm 01:42 PM

Dalam C++, susunan pengisytiharan dan definisi fungsi mempengaruhi proses penyusunan dan pemautan. Yang paling biasa ialah pengisytiharan didahulukan dan definisi datang selepas; anda juga boleh menggunakan "pengisytiharan hadapan" untuk meletakkan definisi sebelum pengisytiharan jika kedua-duanya wujud pada masa yang sama, pengkompil akan mengabaikan perisytiharan dan hanya menggunakan definisi.

Apakah perbezaan antara pengisytiharan dan definisi fungsi C++? Apakah perbezaan antara pengisytiharan dan definisi fungsi C++? Apr 18, 2024 pm 04:03 PM

Pengisytiharan fungsi memberitahu pengkompil tentang kewujudan fungsi dan tidak mengandungi pelaksanaan, yang digunakan untuk pemeriksaan jenis. Definisi fungsi menyediakan pelaksanaan sebenar, termasuk badan fungsi. Ciri membezakan utama termasuk: tujuan, lokasi, peranan. Memahami perbezaan adalah penting untuk menulis kod C++ yang cekap dan boleh diselenggara.

Pengisytiharan dan definisi fungsi C++ Pengisytiharan dan definisi fungsi C++ Apr 11, 2024 pm 01:27 PM

Pengisytiharan dan definisi fungsi diperlukan dalam C++ Pengisytiharan fungsi menentukan jenis pulangan, nama dan parameter fungsi, manakala definisi fungsi mengandungi badan fungsi dan pelaksanaan. Mula-mula mengisytiharkan fungsi dan kemudian gunakannya dalam program anda dengan lulus parameter yang diperlukan. Gunakan pernyataan pulangan untuk mengembalikan nilai daripada fungsi.

Ralat kompilasi C++: panggilan fungsi tidak sepadan dengan pengisytiharan fungsi, bagaimana untuk menyelesaikannya? Ralat kompilasi C++: panggilan fungsi tidak sepadan dengan pengisytiharan fungsi, bagaimana untuk menyelesaikannya? Aug 22, 2023 pm 12:39 PM

Ralat kompilasi C++: panggilan fungsi tidak sepadan dengan pengisytiharan fungsi, bagaimana untuk menyelesaikannya? Apabila membangunkan program C++, anda pasti akan menghadapi beberapa ralat kompilasi Salah satu ralat biasa ialah panggilan fungsi tidak sepadan dengan pengisytiharan fungsi. Ralat jenis ini wujud secara meluas dalam kalangan pengaturcara C++ Disebabkan tidak memberi perhatian kepada ketepatan pengisytiharan fungsi, ia membawa kepada masalah kompilasi, yang akhirnya membuang masa dan tenaga untuk menyelesaikan masalah dan menjejaskan kecekapan pembangunan. Cara untuk mengelakkan kesilapan ini memerlukan mengikut beberapa norma dan amalan standard, mari kita lihat di bawah. Apakah panggilan fungsi berbanding pengisytiharan fungsi?

[[nodiscard]] dalam pengisytiharan fungsi C++: Menjelaskan akibat mengabaikan nilai pulangan [[nodiscard]] dalam pengisytiharan fungsi C++: Menjelaskan akibat mengabaikan nilai pulangan May 01, 2024 pm 06:18 PM

Atribut [[nodiscard]] menunjukkan bahawa nilai pulangan fungsi tidak boleh diabaikan, jika tidak, ia akan menyebabkan amaran atau ralat pengkompil untuk mengelakkan akibat berikut: pengecualian yang tidak dimulakan, kebocoran memori dan hasil pengiraan yang salah.

Sintaks terperinci pengisytiharan fungsi C++: daripada analisis sintaks kepada analisis penggunaan standard Sintaks terperinci pengisytiharan fungsi C++: daripada analisis sintaks kepada analisis penggunaan standard Apr 30, 2024 pm 02:54 PM

Sintaks pengisytiharan fungsi C++ ialah: returnTypefunctionName(parameterType1parameterName1,...,parameterTypeNparameterNameN);, dengan returnType ialah jenis return, functionName ialah nama fungsi, parameterType ialah jenis parameter, dan parameterName ialah nama parameter, yang mesti berakhir dengan a koma bertitik.

Panduan langkah demi langkah untuk pengisytiharan fungsi C++: arahan terperinci merangkumi setiap langkah Panduan langkah demi langkah untuk pengisytiharan fungsi C++: arahan terperinci merangkumi setiap langkah May 02, 2024 pm 04:33 PM

Pengisytiharan fungsi memberitahu pengkompil bahawa fungsi wujud tanpa menyediakan badan fungsi. Langkah-langkahnya adalah seperti berikut: tentukan jenis pemulangan fungsi (tidak sah jika tiada nilai pemulangan) tentukan nama fungsi dan isytiharkan parameter fungsi (pilihan, termasuk jenis data dan pengecam) plus koma bertitik

See all articles