


Mari kita bincangkan tentang definisi dan penggunaan asas fungsi JavaScript
Artikel ini membawa anda pengetahuan yang berkaitan tentang javascript Ia terutamanya mengatur isu yang berkaitan dengan definisi dan penggunaan asas fungsi, termasuk definisi dengan penyataan fungsi, panggilan fungsi dan tidak ditentukan Mari kita lihat pada yang sebenar. parameter dan sebagainya. Saya harap ia akan membantu semua orang.
[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]
1 penyataan fungsi
Mari kita berikan contoh dahulu Fungsi fungsi ini adalah untuk mengembalikan jumlah elemen tatasusunan
function sumArray(arr) { var sum = 0; for(var i = 0,aLength = arr.length;i <p>Ada ruang selepas kata kunci <code>function</code> , dan <code>sumArray</code> ialah fungsi Nama mempunyai konvensyen penamaan yang sama seperti nama pembolehubah: <strong> hanya boleh mempunyai huruf, nombor, garis bawah dan tanda dolar serta tidak boleh bermula dengan nombor atau menjadi kata kunci. </strong></p><p>Parameter dalam kurungan juga dipanggil <strong>parameter formal</strong> dan hanya nama parameter diperlukan. Parameter boleh <code>0</code>, <code>1</code> atau lebih, dipisahkan dengan <code>,</code> dan <code>{}</code> mengandungi <strong> badan fungsi </strong>. Mengandungi satu atau lebih pernyataan. Badan fungsi digunakan untuk melaksanakan fungsi fungsi. </p><p>kata kunci<code>return</code> diikuti dengan <strong>nilai pulangan</strong> fungsi tersebut juga boleh tidak mempunyai nilai pulangan. Selepas fungsi selesai berjalan, <code>return</code> ayat ini di sini akan keluar dari pelaksanaan, dan <code>return</code> ayat berikut <strong> tidak akan dijalankan lagi </strong>. Nilai pulangan ialah output fungsi. </p><p>Untuk fungsi yang ditakrifkan dengan cara ini, <strong> anda boleh memanggil fungsi </strong> sebelum dan selepas definisi fungsi, selagi fungsi dan pernyataan yang memanggil fungsi itu berada dalam fail sumber yang sama . </p><h2 id="Gunakan-definisi-ungkapan">2. Gunakan definisi ungkapan </h2><p> Untuk mentakrifkan fungsi dalam bentuk ungkapan ialah menggunakan ungkapan tugasan <strong> untuk menetapkan fungsi kepada pembolehubah </strong> Ini sebenarnya untuk melihat fungsi sebagai pembolehubah. Pada masa ini, fungsi boleh mempunyai nama atau tiada nama Fungsi tanpa nama dipanggil <strong>fungsi tanpa nama</strong>. </p>
- dengan nama;
var funct = function getMax(a,b) { return a>b?a:b; };//注意这后面的分号不能少,因为我们定义的是一个变量!
dan ditakrifkan menggunakan pernyataan fungsi Perbezaan antara ialah ia hanya boleh ditakrifkan selepas pernyataan definisi fungsi Panggil fungsi ini, dan apabila memanggil, anda hanya boleh menggunakan nama pembolehubah funct
, bukan nama fungsi getMax
, seperti:
var funct = function getMax(a,b) { return a>b?a:b; }; console.log(funct(1,2));//输出2
- fungsi tanpa nama ;
Fungsi yang dipanggil tanpa nama ialah senarai parameter terus selepas kata kuncifunction
:
var funct = function(a,b) { return a>b?a:b; };
Fungsi ini tidak mempunyai nama, ia diperuntukkan kepada pembolehubah funct
, jadi ia dipanggil fungsi tanpa nama . Begitu juga, hanya boleh memanggil fungsi ini selepas pernyataan ini.
var funct = function(a,b) { return a>b?a:b; }; console.log(funct(1,2));//输出2
Ringkasan: Mentakrifkan fungsi dengan ungkapan sedia untuk digunakan Setelah ditakrifkan, fungsi hanya boleh dipanggil selepas pernyataan ini
3. . Panggilan fungsi
Dalam latihan 4, kami telah memperkenalkan bahawa objek boleh mempunyai kaedah sendiri, yang tentunya juga merupakan fungsi. Panggilan fungsi ini sedikit berbeza daripada fungsi yang ditakrifkan dalam dua peringkat sebelumnya.
//函数的定义:求三个数的最大值 function max(a,b,c) { if(a > b) { if(a > c) return a; else return c; } else { if(b > c) return b; else return c; } } //调用该函数 var result = max(1,2,3);//result为3 console.log(result);//输出3
Apabila memanggil fungsi, anda perlu memasukkan bilangan nilai tertentu yang sama seperti parameter formal Fungsi di atas mempunyai parameter 3
, jadi apabila memanggil yang berikut, masukkan 3
nilai khusus. Nilai 1
dihantar ke parameter a
, 2
dihantar ke parameter b
dan 3
dihantar ke parameter c
. Nilai pulangan fungsi dihantar kepada pembolehubah =
melalui simbol tugasan result
. Jika tiada kata kunci return
dalam badan fungsi, undefined
akan dikembalikan. Fungsi panggilan yang ditakrifkan dalam objek
:
var ob = { id:1, getMax:function(a,b) { return a>b?a:b; } }; var result = ob.getMax(2,1);//result值为2 var result1 = ob["getMax"](2,1);//result1的值也是2
Perbezaan daripada di atas ialah untuk mencari fungsi di sini, anda perlu menggunakan 对象名.函数名
atau 对象名["函数名"]
, yang lain ialah sama.
4. Parameter sebenar tidak ditentukan
Dalam kebanyakan bahasa pengaturcaraan, nombor dan jenis parameter sebenar yang dihantar semasa memanggil fungsi diperiksa dan JavaScript
kedua-duanyaTidak menyemak jenis parameter sebenar, ia juga tidak menyemak bilangan parameter sebenar. Parameter sebenar dalam JavaScript
akan sepadan dengan parameter formal mengikut urutan dari kiri ke kanan , contohnya:
function myFunction(a,b,c) { console.log(a); console.log(b); console.log(c); } myFunction(1,2,3);
parameter sebenar1
parameter formal masuka
, parameter sebenar 2
diluluskan dalam parameter formal b
dan parameter sebenar 3
diluluskan dalam parameter formal c
. Apabila bilangan parameter sebenar kurang daripada parameter formal, nilai undefined
akan dihantar ke parameter formal yang betul. Contohnya:
function myFunction(a,b,c) { console.log(a); console.log(b); console.log(c); } myFunction(1,2);
parameter sebenar1
lulus dalam parameter formala
, parameter sebenar2
lulus dalam parameter formalb
, undefined
lulus dalam parameter formalc
. Jika anda hanya mahu menghantar data kepada parameter di sebelah kanan, anda boleh menghantar undefined
kepada beberapa parameter sebenar yang pertama. Contohnya:
function myFunction(a,b,c){ console.log(a); console.log(b); console.log(c); } myFunction(undefined,1,2);
Dua kaedah di atas tidak cukup ketat Amalan terbaik ialah menetapkan undefined
nilai lalai untuk parameter formal yang mungkin dihantar dalam nilai . Seperti:
function getSum(a,b,c) { if(c === undefined) c = 0; console.log(a+b+c); } myFunction(1,2);
5.实参对象
JavaScript
一切都是对象,实参也是一个对象,有一个专门的名字arguments
,这个对象可以看成一个数组(类数组,不是真的数组),实参从左到右分别是arguments[0]、arguments[1]...
,arguments.length
表示实参的个数。
//求参数的和 function getSum() { var aLength = arguments.length; var sum = 0; for(var i = 0;i <p>这里的形参直接省略,使用<code>arguments[i]</code>表示。</p><h2 id="对象作为参数">6.对象作为参数</h2><p>复杂的函数通常多达十几个参数,尽管<code>JavaScript</code>不做参数个数和类型的检查,但是调用时实参的顺序不能乱。开发人员需要检查每一个实参和形参的对应关系,这样效率很低。一种很好的解决方案是使用对象作为参数,函数会根据对象的<strong>属性名</strong>操作参数。</p><pre class="brush:php;toolbar:false">function myFunction(obj) { console.log(obj.name); obj.number++; return obj.number; } myObj = {name:"myObj",number:34}; myFunction(myObj);//输出myObj console.log(myObj.number);//输出35
7.函数对象作为另一个函数的参数
一个函数(为方便行文,称为a
函数)可以作为另外一个函数(称为b
函数)的参数,b
函数最终可以返回一个具体的值。
从原理上来说,b
函数在自己的函数体内调用了a
函数,所以需要把a
函数的名字作为实际参数传递给b
函数。如下:
//求最大值 function getMax(a,b) { return a>b?a:b; } //求最小值 function getMin(a,b) { return a<b></b><p>我们把<code>a</code>函数的名字(<code>getMax</code>或者<code>getMin</code>)传给<code>b</code>函数(<code>getM()</code>),然后在<code>b</code>函数内部调用传入的<code>a</code>函数,得到相关的结果。</p><p>【相关推荐:<a href="https://www.php.cn/course/list/17.html" target="_blank" textvalue="javascript视频教程">javascript视频教程</a>、<a href="https://www.php.cn/course/list/1.html" target="_blank">web前端</a>】</p>
Atas ialah kandungan terperinci Mari kita bincangkan tentang definisi dan penggunaan asas fungsi JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

Aplikasi JavaScript di dunia nyata termasuk pengaturcaraan sisi pelayan, pembangunan aplikasi mudah alih dan Internet of Things Control: 1. Pengaturcaraan sisi pelayan direalisasikan melalui node.js, sesuai untuk pemprosesan permintaan serentak yang tinggi. 2. Pembangunan aplikasi mudah alih dijalankan melalui reaktnatif dan menyokong penggunaan silang platform. 3. Digunakan untuk kawalan peranti IoT melalui Perpustakaan Johnny-Five, sesuai untuk interaksi perkakasan.

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing

Artikel ini menunjukkan integrasi frontend dengan backend yang dijamin oleh permit, membina aplikasi edtech SaaS yang berfungsi menggunakan Next.Js. Frontend mengambil kebenaran pengguna untuk mengawal penglihatan UI dan memastikan permintaan API mematuhi dasar peranan

JavaScript adalah bahasa utama pembangunan web moden dan digunakan secara meluas untuk kepelbagaian dan fleksibiliti. 1) Pembangunan front-end: Membina laman web dinamik dan aplikasi satu halaman melalui operasi DOM dan kerangka moden (seperti React, Vue.js, sudut). 2) Pembangunan sisi pelayan: Node.js menggunakan model I/O yang tidak menyekat untuk mengendalikan aplikasi konkurensi tinggi dan masa nyata. 3) Pembangunan aplikasi mudah alih dan desktop: Pembangunan silang platform direalisasikan melalui reaktnatif dan elektron untuk meningkatkan kecekapan pembangunan.


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

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

Dreamweaver CS6
Alat pembangunan web visual

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.