Deklarasi fungsi. Sebagai objek C, sebuah fungsi harus dideklarasikan. Perbedaan antara deklarasi fungsi dan ekspresi fungsi dalam javascript Ekspresi javascript kelas satu




Sebagai objek C, sebuah fungsi harus dideklarasikan. Deklarasi fungsi pengguna, mis. deklarasinya dilakukan dalam dua bentuk - dalam bentuk deskripsi dan dalam bentuk definisi.

Deskripsi fungsi terdiri dari membawa file program dari prototipe terlebih dahulu. Prototipe fungsi memberi tahu kompiler bahwa definisi lengkapnya (teks lengkapnya) akan diberikan nanti dalam teks program: dalam file teks sumber saat ini atau lainnya, atau terletak di perpustakaan.

Standar bahasa menggunakan cara berikut untuk mendeklarasikan fungsi:

result_type PENGENAL _fungsi(tipe variabel1, …, tipe variabel N);

Perhatikan bahwa tidak perlu menentukan pengidentifikasi variabel dalam tanda kurung prototipe, karena kompiler bahasa tidak memprosesnya.

Deklarasi prototipe memungkinkan kompiler untuk memeriksa apakah jenis dan jumlah parameter cocok ketika fungsi tersebut benar-benar dipanggil.

Contoh kesenangan deskripsi fungsi dengan daftar parameter:

float fun(int, float, int, int);

Definisi fungsi lengkap terlihat seperti ini:

result_type PENGENAL _fungsi(daftar parameter)

kode fungsi

Jenis hasil menentukan jenis ekspresi yang nilainya dikembalikan ke titik pemanggilannya menggunakan operator kembali<выражение> .

Jika tipe fungsi tidak ditentukan, maka tipe default diasumsikan. int .

Daftar parameter terdiri dari daftar jenis parameter dan pengidentifikasi yang dipisahkan koma.

Fungsi mungkin tidak memiliki parameter, tetapi tanda kurung tetap diperlukan.

Jika suatu fungsi tidak mengembalikan nilai apa pun, itu harus dideklarasikan sebagai fungsi bertipe ruang kosong (kosong).

Dalam hal ini operator kembali mungkin tidak diatur.

Suatu fungsi dapat memiliki beberapa operator. kembali , tapi mungkin tidak ada. Dalam kasus seperti itu, kembali ke program pemanggil terjadi setelah eksekusi pernyataan terakhir dalam fungsi.

Contoh fungsi yang menentukan nilai terkecil dari dua variabel bilangan bulat:

int min (int x, int y)

kembali (x

Semua fungsi penghasil nilai harus digunakan di sisi kanan ekspresi C, jika tidak, hasil yang dikembalikan akan hilang.

Jika fungsi tidak memiliki daftar parameter, maka saat mendeklarasikan fungsi seperti itu, disarankan juga untuk menunjukkan kata kunci batal dalam tanda kurung. Misalnya, batal utama (batal).

Itu fungsi kata kunci dapat digunakan untuk mendefinisikan fungsi di dalam ekspresi.

Sumber untuk contoh interaktif ini disimpan di repositori GitHub. Jika Anda ingin berkontribusi pada proyek contoh interaktif, harap tiru https://github.com/mdn/interactive-examples dan kirimkan permintaan tarik kepada kami.

Sintaksis

var myFunction = fungsi[ nama]([parameter1[, parameter2[, ..., parameter]]]) { pernyataan };

Parameter

nama Nama fungsi. Dapat dihilangkan, dalam hal ini fungsinya anonim. Nama hanya bersifat lokal untuk badan fungsi. paramN Nama argumen yang akan diteruskan ke fungsi. pernyataan Pernyataan yang terdiri dari tubuh fungsi.

Keterangan

Ekspresi fungsi sangat mirip dan memiliki sintaks yang hampir sama dengan pernyataan fungsi (lihat pernyataan fungsi untuk detailnya). Perbedaan utama antara ekspresi fungsi dan pernyataan fungsi adalah nama fungsi, yang dapat dihilangkan dalam ekspresi fungsi untuk dibuat anonim fungsi. Ekspresi fungsi dapat digunakan sebagai IIFE (Immediately Invoked Function Expression) yang berjalan segera setelah didefinisikan. Lihat juga bab tentang fungsi untuk informasi lebih lanjut.

mengangkat ekspresi fungsi

Ekspresi fungsi dalam JavaScript tidak diangkat, tidak seperti deklarasi fungsi. Anda tidak dapat menggunakan ekspresi fungsi sebelum Anda mendefinisikannya:

Console.log(notHoisted) // undefined //walaupun nama variabel diangkat, definisinya tidak, jadi tidak terdefinisi. tidakDiangkat(); // TypeError: notHoisted bukan fungsi var notHoisted = function() ( console.log("bar"); );

ekspresi fungsi bernama

Jika Anda ingin merujuk ke fungsi saat ini di dalam badan fungsi, Anda perlu membuat ekspresi fungsi bernama. Nama ini kemudian bersifat lokal hanya untuk badan fungsi (cakupan) . Ini juga menghindari penggunaan properti argument.callee non-standar.

Var matematika = ( "factit": function factorial(n) ( console.log(n) if (n<= 1) { return 1; } return n * factorial(n - 1); } }; math.factit(3) //3;2;1;

Variabel tempat ekspresi fungsi ditetapkan akan memiliki properti nama. Nama tidak berubah jika ditugaskan ke variabel yang berbeda. Jika nama fungsi dihilangkan, itu akan menjadi nama variabel (nama implisit). Jika ada nama fungsi, itu akan menjadi nama fungsi (nama eksplisit). Ini juga berlaku untuk fungsi panah (panah tidak memiliki nama sehingga Anda hanya dapat memberikan variabel nama implisit).

Var foo = function() () foo.name // "foo" var foo2 = foo foo2.name // "foo" var bar = function baz() () bar.name // "baz" console.log(foo ===foo2); // true console.log(typeof baz); // undefined console.log(bar === baz); // false (kesalahan karena baz == undefined)

Contoh

Contoh berikut mendefinisikan fungsi tanpa nama dan menugaskannya ke x . Fungsi mengembalikan kuadrat dari argumennya:

Var x = fungsi(y) ( return y * y; ); button.addEventListener("klik", fungsi(acara) ( console.log("tombol diklik!") ))

Spesifikasi

Spesifikasi Status Komentar
Draf Terbaru ECMAScript (ECMA-262)
Draf
ECMAScript 2015 (Edisi ke-6, ECMA-262)
Definisi "Definisi fungsi" dalam spesifikasi itu.
standar
ECMAScript 5.1 (ECMA-262)
standar
ECMAScript Edisi ke-3 (ECMA-262)
Definisi "Definisi fungsi" dalam spesifikasi itu.
standar definisi awal. Diimplementasikan dalam JavaScript 1.5.

Kompatibilitas browser

Tabel kompatibilitas di halaman ini dihasilkan dari data terstruktur. Jika Anda ingin berkontribusi pada data, silakan periksa https://github.com/mdn/browser-compat-data dan kirimkan permintaan tarik kepada kami.

Perbarui data kompatibilitas di GitHub

DesktopSelulerserver
ChrometepianFirefoxInternet ExplorerOperasafaritampilan web androidChrome untuk AndroidFirefox untuk AndroidOpera untuk AndroidSafari di iOSInternet SamsungNode.js
fungsiChrome Dukungan penuh YaTepi Dukungan penuh 12Firefox Dukungan penuh 1IE Dukungan penuh YaDukungan penuh Opera YaSafari Dukungan penuh YaWebView Android Dukungan penuh YaChrome Android Dukungan penuh YaFirefox Android Dukungan penuh 4Opera Android Dukungan penuh YaSafari iOS Dukungan penuh YaSamsung Internet Android Dukungan penuh Yanodejs Dukungan penuh Ya
membuntuti koma dalam parameterChrome Dukungan penuh 58Tepi Tidak ada dukungan Tidak adaFirefox Dukungan penuh 52IE Tidak ada dukungan NoOpera Dukungan penuh 45Safari Tidak ada dukungan Tidak adaWebView Android Dukungan penuh 58Chrome Android Dukungan penuh 58Firefox Android Dukungan penuh 52Opera Android Dukungan penuh 43Safari iOS Tidak ada dukungan NoSamsung Internet Android Dukungan penuh 7.0nodejs Dukungan penuh 8.0.0

Legenda

Dukungan penuh Dukungan penuh tidak ada dukungan tidak ada dukungan

Artikel di mana kami akan mempertimbangkan cara lain untuk membuat fungsi - melalui ekspresi definisi. Selain itu, kami akan menganalisis perbedaan antara metode deklarasi fungsi ini dan metode tradisional.

Membuat Fungsi dengan Ekspresi Definisi

Dalam JavaScript, Anda dapat membuat fungsi tidak hanya menggunakan cara tradisional (deklarasi - Deklarasi Tradisional), tetapi juga melalui ekspresi definisi (Definition Expressions). Cara mendefinisikan fungsi ini disebut fungsi literal di beberapa sumber.

Ide utama dibalik Definition Expressions adalah bahwa deskripsi fungsi digunakan sebagai nilai dari beberapa variabel atau ekspresi.

Misalnya, variabel jumlah akan berisi deskripsi fungsi yang akan menampilkan jumlah dari 2 angka yang ditentukan sebagai parameter ke konsol.

Varsum = function(num1,num2) ( return console.log(num1+num2); );

Pemanggilan fungsi, yang dibuat berdasarkan ekspresi definisi, dilakukan dengan nama variabel.

// sebagai contoh, mari kita panggil fungsi yang terkandung dalam variabel sum dan kirimkan 2 argumen. jumlah(7,4);

Perhatian: Nama fungsi tidak ditentukan dalam ekspresi definisi. Fungsi yang dideklarasikan tanpa nama disebut anonim.

Perhatikan bahwa JavaScript memungkinkan sintaks fungsi yang dibuat sebagai ekspresi definisi memiliki nama. Tapi, ini hanya masuk akal jika perlu ditangani di dalam tubuhnya sendiri. Misalnya, saat menulis fungsi rekursif. Kemungkinan ini tidak memberikan aplikasi lain, karena tidak mungkin merujuk ke fungsi yang didefinisikan dengan cara ini di luar batasnya dengan nama.

Sebagai contoh, mari buat sebuah fungsi untuk menghitung faktorial yang ditentukan sebagai parameter angka:

Var factorial = fungsi fact(num) ( if (num

Kode ini mendefinisikan fungsi dan menyimpan referensi ke dalam variabel faktorial. Untuk memanggil fungsi di dalam fungsi ini, gunakan nama fact . Perhatikan bahwa Anda tidak dapat merujuk ke fungsi di luar badannya dengan nama fact, untuk ini Anda harus menggunakan variabel factorial .

Tetapi dalam hal ini, Anda dapat melakukannya tanpa nama, karena. JavaScript memungkinkan Anda memanggil fungsi di dalam tubuhnya menggunakan properti callee dari objek argumen.

Var faktorial = fungsi(bil) ( if (bil

JavaScript - Fungsi Memanggil Sendiri

Fungsi yang didefinisikan oleh ekspresi definisi dapat dipanggil dengan segera. Untuk melakukan ini, setelah badan fungsi, Anda harus meletakkan tanda kurung dan menentukan argumen di dalamnya, jika perlu.

Sebagai contoh, mari kita langsung memanggil fungsi penjumlahan dengan nilai parameter 7 dan 4.

Varsum = function(num1,num2) ( return console.log(num1+num2); )(7,4);

Proses pemanggilan fungsi dengan segera terkadang disebut function initialization atau function instantiation.

Ekspresi definisi fungsi sangat sering digunakan jika diperlukan untuk mengeksekusinya sekali dan segera. Untuk melakukan ini, Anda bahkan tidak dapat menggunakan variabel, tetapi segera menulis ekspresi yang dihitung, mis. bungkus definisi fungsi anonim dalam tanda kurung.

(fungsi(num1,num2) ( return console.log(num1+num2); )(7,4));

Perbedaan antara Deklarasi Fungsi dan Ekspresi Fungsi

Perbedaan utama antara Deklarasi Fungsi dan Ekspresi Fungsi disajikan dalam tabel berikut:

Deklarasi Fungsi Ekspresi Fungsi
Browser (penerjemah JavaScript) menganggap suatu fungsi sebagai Deklarasi Fungsi jika terletak di aliran kode utama (bukan bagian dari ekspresi apa pun). Browser menemukan fungsi sebagai Ekspresi Fungsi jika ditempatkan di dalam ekspresi.
Ketika sebuah fungsi dideklarasikan dengan cara ini, variabel yang digunakan untuk mengaksesnya dibuat secara otomatis. function square(a) ( return a*a; ) // pemanggilan fungsi console.log(square(5)); Untuk memanggil suatu fungsi, Anda perlu membuat variabel dan menyimpan referensi ke fungsi ini di dalamnya. var square = function(a) ( return a*a; ) // memanggil fungsi console.log(square(5));
Diinisialisasi sebelum eksekusi kode (dalam cakupan yang sesuai). Tindakan ini juga disebut mengangkat atau mengangkat. Fungsi tersebut dapat dipanggil sebelum dideklarasikan. // panggil fungsi sebelum dideklarasikan console.log(square(7)); fungsi kuadrat(a) ( kembali a*a; ) Ekspresi Fungsi tidak dapat digunakan sebelum dideklarasikan. Hanya variabel itu sendiri yang dimunculkan. // error saat memanggil fungsi console.log(square(7)); var persegi = fungsi(a) ( kembali a*a; )

Dalam hal ini, hal berikut terjadi:

Varsquare; console.log(persegi(7)); // tetapi pada titik ini kuadrat tidak terdefinisi kuadrat = function(a) ( return a*a; )

Saat menggunakan use strict, fungsi yang dideklarasikan sebagai Deklarasi Fungsi hanya akan terlihat di dalam blok yang dideklarasikan. "gunakan ketat"; if (true) ( ​​​​function sum(a,b,c) ( return a+b+c; ) console.log(sum(10,20,10)); ) // error saat mengakses fungsi sum console.log( jumlah (4,5,4)); Tidak seperti Deklarasi Fungsi, sebuah fungsi dapat diakses di luar blok tempatnya dibuat: "use strict"; if (true) ( ​​​​var sum = function (a,b,c) ( return a+b+c; ) console.log(sum(10,20,10)); ) // memiliki akses ke sum function console .log (jumlah(4,5,4));
Sebuah fungsi yang dideklarasikan sebagai Deklarasi Fungsi tidak dapat langsung dipanggil.
Untuk melakukan ini, Anda perlu menjadikan fungsi sebagai bagian dari ekspresi, misalnya, membungkusnya dengan tanda kurung. Setelah itu, fungsi tersebut akan dianggap sebagai bagian dari ekspresi (Function Expression) dan dapat langsung dipanggil.
Misalnya: var sum = (fungsi sum(a,b,c) ( return a+b+c; ))(5,6,7); console.log(typeofsum); // angka console.log(jumlah); // nomor
Sebuah fungsi yang dideklarasikan sebagai Ekspresi Fungsi dapat langsung dipanggil. var jumlah = fungsi (a,b,c) ( return a+b+c; )(5,6,7); console.log(typeofsum); // angka console.log(jumlah); // angka Dalam hal ini, jumlah variabel (dalam hal ini) tidak lagi berisi referensi ke fungsi, tetapi hasilnya (dalam contoh ini, angka).

Kesimpulan: Cara suatu fungsi dideklarasikan dengan ekspresi definisi memungkinkan fungsi tersebut digunakan sebagai variabel. Fitur bahasa JavaScript ini sangat menarik dan memungkinkan Anda membuat skrip yang lebih fleksibel.

Di bagian sebelumnya, kami mempertimbangkan "batu bata" dasar (operator dan ekspresi) tempat program dibuat. Dalam bahasa pemrograman awal, seperti versi pertama Basic, itulah akhirnya. Suatu program adalah urutan pernyataan, dan hanya itu. Selama programnya kecil, pendekatan ini cukup bisa diterapkan. Jika program memiliki 10 pernyataan, maka tidak diperlukan struktur tambahan. Tetapi jika program memiliki 10.000 pernyataan atau 10.000.000 pernyataan (dan ada program seperti itu, dan berfungsi), maka Anda tidak dapat melakukannya tanpa memperkenalkan struktur tambahan.

VBA mendukung struktur program berikut. Di tingkat atas hierarki adalah aplikasi, berikutnya adalah proyek yang terkait dengan dokumen aktual dari aplikasi itu, dan di tingkat ketiga adalah modul (modul aplikasi, modul pengguna, modul kelas, modul formulir, dan modul tautan). Dan pada level terakhir adalah prosedur dan fungsi dari modul-modul tersebut.

Penataan program ini sepenuhnya memenuhi prinsip-prinsip pemrograman struktural dan modular. Pada bagian ini, kita akan membahas bekerja di tingkat modul secara rinci, bekerja dengan aplikasi dan proyek akan dibahas Lihat bagian 20.6 "Visual Basic untuk Editor Aplikasi".

Jadi, modul - itu adalah bagian dari program yang dirancang sedemikian rupa sehingga dapat disiarkan secara mandiri. Modul, pada gilirannya, terdiri dari dua bagian: bagian iklan baris(Deklarasi) Dan bagian prosedur dan fungsi. Dalam bab Deklarasi menjelaskan variabel global, tipe yang ditentukan pengguna, dan tipe yang disebutkan. Bagian selanjutnya menjelaskan prosedur dan fungsi. Prosedur adalah konstruksi program lengkap semantik terkecil yang dapat dieksekusi. Pada akhirnya, operator tidak dieksekusi dan ditulis begitu saja, mereka ada di deskripsi prosedur dan fungsi.

Area visibilitas - ini adalah area program di mana nama variabel terlihat, yang artinya nilainya dapat diakses.

Ada tiga tingkat visibilitas dan lima cara untuk mendeklarasikan:

Prosedur (lingkup - hanya prosedur di mana variabel dideklarasikan).

  • Pernyataan Dim mendeklarasikan variabel di dalam badan prosedur dan di mana pun di dalam prosedur, tetapi sebelum pernyataan yang menggunakannya. Seumur hidup variabel ini adalah ruang lingkup prosedur, mis. saat memasuki prosedur ini, memori dialokasikan untuk variabel dan diinisialisasi, kemudian, selama pelaksanaan prosedur, nilai variabel dapat berubah, setelah keluar dari prosedur , memori yang dialokasikan dibebaskan, dan karenanya, nilai variabel hilang.
  • Pernyataan statis adalah antagonis dari pernyataan Dim, ia mendeklarasikan variabel statis. Perbedaannya adalah ketika prosedur keluar, memori tidak diambil dari variabel statis, tetapi menjadi (karena ruang lingkup) untuk sementara tidak dapat diakses, dan, karenanya, nilainya disimpan, yang dapat digunakan saat prosedur dipanggil lagi .

Modul (ruang lingkup - semua prosedur modul tempat variabel dideklarasikan):

  • Pernyataan Pribadi mendeklarasikan variabel di bagian deklarasi Deklarasi(di luar prosedur modul).
  • Operator Dim benar-benar analog (dalam hal ini) dengan operator Private.

Aplikasi (ruang lingkup - semua prosedur dari semua modul aplikasi aktif):

  • Pernyataan Publik mendeklarasikan variabel di bagian deklarasi deklarasi.

Prosedur, seperti semua elemen yang ditentukan pengguna VBA, memerlukan deklarasi. Deklarasi prosedur memiliki sintaks berikut:

Sub NamaProsedur ([Daftar Argumen])

[ blok pernyataan1 ]

[ Pernyataan blok2 ] Akhir Sub

Kata kunci Private menentukan ruang lingkup berikutnya untuk prosedur - hanya modul yang dideklarasikan. Artinya, hanya prosedur dari modul yang sama yang dapat memanggilnya. Kata kunci Publik, sebaliknya, membuat prosedur tersedia untuk semua modul dalam proyek. Secara default, prosedurnya bersifat publik, yaitu memiliki status Publik. Adapun penggunaan kata kunci Friend, kita akan membicarakannya nanti ketika kita berbicara tentang kelas VBA.

Pernyataan deklarasi diikuti oleh kata kunci statis opsional, yang membuat semua variabel lokal menjadi statis. Pernyataan ini setara dengan fakta bahwa setiap variabel yang dijelaskan dalam tubuh variabel prosedur akan dideklarasikan sebagai statis.

NamaProsedur adalah pengidentifikasi prosedur yang memenuhi semua konvensi penamaan.

Nama diikuti oleh tanda kurung yang diperlukan, tetapi Daftar Argumen opsional. Mari kita lihat lebih dekat deklarasi argumen tunggal; jika ada lebih, dipisahkan dengan koma.

Nama-Argumen [()] [= Nilai-Default]

Kata kunci Opsional berarti bahwa argumen bersifat opsional dan dapat dihilangkan saat memanggil prosedur. Secara default, argumen diperlukan. Semua argumen opsional harus datang setelah yang diperlukan. Secara alami, parameter opsional nilaiDefault adalah nilai argumen opsional jika tidak diberikan saat memanggil prosedur. Jika konstruk menyertakan kata kunci ParamArray, kata kunci Opsional tidak dapat digunakan.

Sebagai parameter aktual, prosedur tidak hanya dapat menerima nilai konstanta, tetapi juga nilai variabel. Saat meneruskan variabel ke prosedur sebagai parameter, salah satu dari dua metode dapat digunakan: ByVal (berdasarkan nilai) dan ByRef (berdasarkan referensi).

Untuk memahami perbedaan antara kedua metode ini, Anda perlu mempertimbangkan penyimpanan dan mekanisme untuk meneruskan parameter "dari dalam". Jadi, saat mendeklarasikan variabel jenis apa pun, area di memori komputer dialokasikan di mana nilai variabel akan disimpan. Besar kecilnya luasan ini tentunya tergantung dari jenis variabel tersebut. Sekarang, mengetahui bagaimana sebuah variabel bekerja di dalam komputer, mari pertimbangkan untuk meneruskannya sebagai parameter ke sebuah prosedur.

Jika sebuah variabel diteruskan ke prosedur dengan referensi (yaitu, dengan menggunakan kata kunci ByRef sebelum namanya), maka alamat variabel tersebut di memori akan diteruskan ke prosedur. Dalam hal ini, argumen formal dari prosedur dan parameter aktual yang diteruskan diidentifikasi.

Jadi, prosedur yang dipanggil, mengubah nilai parameter formal, mengubah nilai variabel.

Jika variabel diteruskan dengan nilai (yaitu, dengan menggunakan kata kunci Byval sebelum namanya), maka kompiler membuat salinan sementara dari variabel ini, dan alamat dari variabel salinan inilah yang diteruskan ke prosedur. Jadi, prosedur yang dipanggil, mengubah nilai parameter formal, mengubah nilai variabel salinan (tetapi bukan variabel itu sendiri), yang akan dihancurkan setelah prosedur selesai. Secara default, variabel diteruskan dengan referensi di VBA.

Setelah mempertimbangkan bagaimana variabel dapat diteruskan ke suatu prosedur, mari kita kembali ke ulasan lebih lanjut tentang konstruksinya. ParamArray parameter berikutnya hanya dapat muncul sebelum argumen terakhir dalam daftar argumen, menunjukkan bahwa itu adalah array opsional dari elemen varian tipe.

nama-argumen - itu adalah pengidentifikasi konvensi penamaan yang mewakili argumen dalam badan prosedur. Parameter tipe data adalah tipe data bawaan atau tipe yang ditentukan pengguna. Bawaan typeDanky adalah Varian.

Setelah menjelaskan prosedur BlokOperator1(biasa disebut badan prosedur) di mana nilai argumen "prosedur dapat digunakan. Jika selama eksekusi pernyataan prosedur, pernyataan Exit Sub (keluar dari prosedur) ditemui, maka eksekusi prosedur dihentikan dan kontrol dipindahkan ke pernyataan setelah pernyataan pemanggilan prosedur.

Fungsi berbeda dari prosedur, selain mengeksekusi pernyataan, ia mengembalikan nilai. Sintaks deklarasi fungsi sedikit berbeda dari prosedur:

Fungsi NamaFungsi [(ArgumentList)]

[pernyataan blok1]

[NamaFungsi = Ekspresi]

[blok pernyataan2]

[NamaFungsi = Ekspresi] Fungsi Akhir

Pertama, kata kunci sub telah diubah menjadi Fungsi. Kedua, setelah mendeklarasikan argumen, Anda harus menentukan jenis nilai yang dikembalikan oleh fungsi. Ketiga, di badan fungsi terdapat penugasan ke nama fungsi dari beberapa nilai yang memiliki tipe yang dideklarasikan. Tentu saja, penetapan seperti itu bersifat opsional, tetapi fungsi Anda akan terlihat seperti prosedur, dan hasil dari fungsi tersebut akan menjadi nilai default yang ditentukan untuk jenis yang sesuai. Terakhir, alih-alih kata kunci Exit Sub, kata kunci Exit Function digunakan untuk keluar dari fungsi.

Mari gunakan contoh tentang penerbit dan toko untuk menjelaskan prosedur untuk menginisialisasi larik aplikasi. Jadi, kami memiliki argumen array yang diteruskan ke prosedur, dan prosedur menginisialisasinya menggunakan fungsi inputBox standar. Untuk menentukan batas atas dan bawah dari sebuah array, digunakan fungsi standar LBound dan uBound.

Dalam kasus fungsi, larik permintaan dan jumlah buku dalam stok dimasukkan sebagai argumen, dan boolean True dikembalikan jika permintaan semua toko terpenuhi, dan False sebaliknya. Omong-omong, kami akan membuat argumen jumlah buku opsional, secara default sama dengan 5000.

Program 20.14. Mendeklarasikan Prosedur dan Fungsi

Sub Publik InitBookShops(arr() Sebagai Integer)

Dim i, str For i = LBound (arr) Ke UBound (arr)

str = "Masukkan pesanan untuk toko #" & i arr(i) = InputBox(str) Next i End Sub

Fungsi Publik SaleAbility(arr() Sebagai Integer, _ "

Opsional numOfBooks Sebagai Integer = 5000) Sebagai Boolean

Untuk Setiap elemen Dalam arr

sumOfBooks = sumOfBooks + elem Berikutnya Jika sumOfBooks< numOfBooks Then

SaleAbility = True Else

SaleAbility = False End If End Function

Komentar

Ada irasionalitas yang disengaja dalam tubuh fungsi SaleAbility. Alih-alih pernyataan if terakhir. . .Kemudian. . . Jika tidak, Anda dapat dan harus menulis pernyataan penugasan yang setara dan lebih efisien, SaleAbility = sumOfBooks< numOfBooks. Этим замечанием мы специально акцентируем внимание читателя на подобных мелких, но важных "хитростях" хорошего стиля программирования.

Selain deklarasi prosedur dan fungsi yang dijelaskan di atas, ada jenis khusus dari prosedur di VBA. Ini adalah prosedur untuk menanggapi suatu peristiwa yang dipanggil oleh sistem atau pengguna. (Lihat Bab 22 Pengembangan Aplikasi). Misalnya, acara buka dan tutup ditentukan untuk dokumen Word, Penyimpanan Sebelum dan Dosis Awal ditentukan untuk buku kerja Excel, inisialisasi dan Hentikan ditentukan untuk objek kelas khusus, menekan tombol kotak dialog juga merupakan acara, dll. Pengguna dapat membuat prosedur untuk menanggapi peristiwa semacam itu, misalnya meminta untuk menampilkan pesan "Selamat tinggal, terima kasih atas pekerjaannya!" saat menutup dokumen.

Sintaks dari prosedur semacam itu sama dengan yang biasa, hanya namanya yang pertama menunjukkan objek yang akan dikaitkan dengan peristiwa tersebut, kemudian karakter garis bawah (_), dan kemudian nama sebenarnya dari peristiwa tersebut.

Program 20.15. Prosedur reaksi kejadian

Sub Dokumen Pribadi_Tutup()

MsgBox ("Sampai jumpa, terima kasih untuk pekerjaan Anda!")

Komentar

Kontrol acara adalah cara menyusun kode program berdasarkan ide berikut. Ada beberapa rangkaian acara bernama yang telah ditentukan sebelumnya. Acara dapat secara eksplisit dikaitkan dengan objek, dan mereka dapat secara implisit dikaitkan atau dikaitkan dengan objek implisit, dalam kasus terakhir, acara biasanya disebut acara sistem. Peristiwa dapat terjadi. Terjadinya suatu peristiwa menyiratkan bahwa keadaan sistem telah berubah dalam beberapa cara. Suatu peristiwa dapat memiliki prosedur yang terkait dengannya, yang disebut respons peristiwa. Ketika suatu peristiwa terjadi, prosedur reaksi secara otomatis dipanggil. Dalam sistem pemrograman modern yang mendukung manajemen acara, sejumlah besar variasi acara disediakan, reaksi yang dapat ditentukan dalam program, misalnya: menekan tombol pada keyboard, menekan penunjuk mouse di area tertentu di ​​layar, mencapai nilai yang ditetapkan oleh pengatur waktu internal, membuka file tertentu, dan lain-lain. Dalam program yang sepenuhnya digerakkan oleh peristiwa, tidak ada aliran kontrol utama, itu terletak di luar program (di sistem operasi atau dalam sistem administrasi run-time, yaitu di mana mekanisme acara diimplementasikan). Kontrol memasuki program hanya dalam bentuk panggilan prosedur reaksi. Pengaturan program seperti itu memberikan modularitas tinggi, transparansi, struktur seimbang, dan fitur berguna lainnya. Jelas bahwa jika Anda mengaitkan acara dengan perintah aplikasi (seperti yang biasanya dilakukan), maka manajemen acara paling cocok untuk mengimplementasikan antarmuka pengguna.


Sistem pemrograman modern memiliki pustaka komponen prebuilt yang kaya dan berkembang yang disebut kontrol yang terintegrasi erat dengan mekanisme manajemen kejadian bawaan. Menggunakan kontrol siap pakai itu nyaman, produktif, dan harus direkomendasikan dalam banyak kasus. Untuk informasi lebih lanjut tentang hal ini, lihat Bab 22 Pengembangan Aplikasi.

Secara alami, selain mendeklarasikan prosedur dan fungsi, mereka harus digunakan - dipanggil. Ada beberapa cara untuk melakukannya, dan "beberapa" adalah kata yang sangat lemah. VBA memberi pengguna sistem yang begitu fleksibel untuk memanggil prosedur dan fungsi sehingga dia harus memikirkan caranya Apa cara untuk memanggil prosedur.

Panggilan pertama, paling sederhana,:

ProcedureName Daftar Parameter Aktual

Nama Prosedur -ini adalah Prosedur Panggilan Anda, danlistActualPara - meter - itu adalah daftar parameter aktual yang diteruskan ke prosedur saat dipanggil. Itu harus cocok dengan daftar argumen yang diperlukan yang ditentukan saat prosedur dideklarasikan. Parameter sebenarnya, jika ada lebih dari satu, dicantumkan dipisahkan dengan koma; pesanan mereka harus sesuai dengan argumen yang dinyatakan. Perhatikan bahwa saat memanggil prosedur seperti ini, tidak perlu menyertakan daftar parameter aktual dalam tanda kurung.

Anda juga dapat memanggil prosedur menggunakan kata kunci Panggil: Panggil ProcedureName (Daftar Parameter Aktual)

Inti dari semua parameter dengan metode pemanggilan ini tetap sama. Perbedaannya adalah bahwa daftar parameter aktual harus dilampirkan dalam tanda kurung.

Panggilan fungsi sedikit berbeda dari panggilan prosedur. Perbedaan utamanya adalah Anda dapat meneruskan nilai fungsi yang dihitung ke beberapa variabel, sehingga pemanggilan fungsi terlihat seperti ini:

Nama Variabel = NamaFungsi (DaftarParameterAktual)

Mari gunakan contoh prosedur dan fungsi yang dideklarasikan di atas untuk menunjukkan panggilannya.

Program 20.16. Prosedur dan Fungsi Pemanggilan

Dim bookshops(1 To 25) As Integer Dim result As Boolean

result = SaleAbility(toko buku, 3000)

MsgBox(hasil) End Sub

Dalam metode pemanggilan yang dipertimbangkan, parameter aktual disusun dalam urutan yang sama dengan argumen formal saat mendeklarasikan prosedur atau fungsi. Dalam beberapa kasus, terutama ketika prosedur berisi sejumlah besar argumen opsional, Anda dapat menggunakan fitur unik VBA - argumen bernama. Dengan panggilan seperti itu, selain nilai parameter aktual, namanya juga ditunjukkan

argumen formal yang sesuai dengan nilai yang diberikan. Untuk melakukannya, nama argumen diikuti dengan titik dua dan tanda sama dengan, diikuti dengan parameter sebenarnya. Ini adalah trik yang sangat berguna yang memungkinkan Anda melihat hubungan argumen dengan parameter aktual.

Program 20.17. Menggunakan Argumen Bernama

Toko buku redup (1 Sampai 25) Sebagai Integer

Hasil redup Sebagai Boolean

result = SaleAbility(arr:= toko buku, numOfBooks:= 3000)

MsgBox(hasil) End Sub

Saat menjelaskan sintaks deklarasi prosedur, kami secara singkat menyebutkan kata kunci ParamArray, saatnya untuk memperhatikannya. Kemampuan untuk melewatkan sejumlah parameter aktual yang tidak diketahui ke suatu prosedur juga unik untuk banyak bahasa pemrograman lainnya.

Misalnya, kami akan membuat prosedur untuk menghitung jumlah permintaan menggunakan parameter ParamArray. Saat memanggil prosedur ini dalam prosedur Tes, Anda dapat menentukan sejumlah parameter aktual dari larik klaim.

Program 20.18. Menggunakan Parameter ParamArray

Sub FullSum(ParamArray arr() Sebagai Varian)

Dim sum Sebagai Integer

Untuk i = LBound(arr) Ke UBound(arr) jumlah = jumlah + arr(i)

MsgBox (jumlah) End Sub

Jumlah Penuh 100, 2000, 350, 450 Akhir Sub

Pertimbangkan cara lain untuk memanggil prosedur atau fungsi - panggilan rekursif, yaitu panggilan di mana prosedur dipanggil dari tubuhnya sendiri. Contoh standar dari fungsi rekursif adalah perhitungan faktorial.

Program 20.19. Panggilan fungsi rekursif

Fungsi fctrl(n Sebagai Integer) Sebagai Varian

Jika(N<= 1) Then fctrl = 1

fctrl = n * fctrlfn - 1) Fungsi Akhir Jika Akhir

MsgBox fctrl(20) Akhir Sub

Sebagai aturan, panggilan rekursif tidak boleh disalahgunakan, karena panggilan rekursif dengan cepat mengisi memori tumpukan komputer dan membutuhkan lebih banyak waktu untuk memprosesnya. Dalam kasus kami, kami dapat menghindari penggunaan panggilan rekursif dengan menggantinya dengan loop biasa. Meskipun, tentu saja, ada situasi di mana penggunaan metode rekursif secara nyata mempercepat pekerjaan, misalnya saat bekerja dengan struktur data seperti pohon.

Terakhir, kita akan melihat contoh yang menunjukkan perbedaan antara parameter yang lewat dengan referensi dan nilai, yang menunjukkan dua prosedur: RefVal dan MainCalc. Prosedur pembantu RefVal menggunakan tiga argumen formal, yang dijelaskan secara berbeda. Lebih jauh dalam isi prosedur ini, masing-masing ditambahkan satu, dan kemudian nilainya ditampilkan. Prosedur utama MainCalc menetapkan nilai variabel a, b, dan c, lalu meneruskannya sebagai parameter ke prosedur RefVal. Dalam hal ini, parameter pertama diteruskan dengan referensi (secara default), yang kedua - dengan nilai, dan yang ketiga - lagi dengan referensi. Setelah prosedur RefVal kembali, prosedur utama juga menampilkan nilai dari tiga variabel yang dilewatkan sebagai parameter. Sebanyak enam nilai ditampilkan di layar. Pertama, ini adalah angka 11, 21 dan 31 (semua nilai yang diterima ditambah 1 dan ditampilkan dengan prosedur RefVal). Lalu ada angka DAN, 20 dan 31 (nilai-nilai ini ditampilkan oleh prosedur MainCalc, dan variabel yang diteruskan dengan referensi telah meningkat, tetapi variabel yang diteruskan oleh nilai tidak).

Acara 20.20. Perbedaan antara ByRef dan ByVal

Sub RefVal(x, ByVal y, ByRef z)

MsgBox (z) Akhir Sub

Sub MainCalc 0 a = 10 b = 20 s = 30 Call RefVal(a, b, c)

MsgBox(a) MsgBox(b) MsgBox(c) Akhir Sub

Jadi, kami telah mempertimbangkan untuk bekerja dengan prosedur dan fungsi yang ditentukan pengguna, tetapi selain kemungkinan ini, ada berbagai macam prosedur dan fungsi bawaan yang memungkinkan pemrogram untuk tidak memikirkan penerapan operasi standar, seperti membandingkan string atau mengambil sinus dari beberapa nomor. Sayangnya, ruang lingkup buku kami tidak memungkinkan untuk menjelaskan bahkan sebagian kecil dari prosedur dan fungsi bawaan (dan ini tidak berguna), tetapi Anda selalu dapat menemukan daftar lengkap dan deskripsinya di bantuan Outlook bawaan .

Ekspresi dalam JavaScript adalah kombinasi operan Dan operator.

Operasi dalam ekspresi dieksekusi secara berurutan sesuai dengan nilai prioritas (semakin tinggi nilai prioritas, semakin tinggi). Hasil yang dikembalikan tidak selalu bertipe sama dengan tipe data yang sedang diproses. Misalnya, operasi perbandingan melibatkan operan dari tipe yang berbeda, tetapi hasil yang dikembalikan akan selalu berupa tipe boolean.

Beras. 1. Struktur ekspresi dalam JavaScript

operan adalah data yang diproses oleh skrip JavaScript. Operan dapat berupa tipe data sederhana dan kompleks, serta ekspresi lainnya.

Operator adalah simbol bahasa yang melakukan berbagai operasi pada data. Operator dapat ditulis menggunakan karakter tanda baca atau kata kunci.

Bergantung pada jumlah operan, jenis operator berikut dibedakan:
unary- satu operan terlibat dalam operasi;
biner— dua operan berpartisipasi dalam operasi;
terner— menggabungkan tiga operan.

Bentuk ekspresi yang paling sederhana adalah harfiah— sesuatu yang mengevaluasi dirinya sendiri, misalnya, angka 100 , string "Hellow world" . Variabel juga bisa berupa ekspresi, karena ia mengevaluasi nilai yang diberikan padanya.

Ekspresi dan operator dalam JavaScript

1. Operator aritmatika

operator aritmatika dirancang untuk melakukan operasi matematika, mereka beroperasi pada operan numerik (atau variabel yang menyimpan nilai numerik) dan mengembalikan nilai numerik sebagai hasilnya.

Jika salah satu operan adalah string, juru bahasa JavaScript akan mencoba mengubahnya menjadi tipe numerik dan kemudian melakukan operasi yang sesuai. Jika konversi jenis gagal, hasilnya adalah NaN (bukan angka).

Tabel 1. Operator aritmatika
Operator/Operasi Keterangan Sebuah prioritas
+ Tambahan Menambahkan operan numerik. Jika salah satu operannya adalah string, maka hasil ekspresinya adalah string. 12
- Pengurangan Kurangi operan kedua dari yang pertama. 12
- Minus unary Mengubah bilangan positif menjadi bilangan negatif dan sebaliknya. 14
* Perkalian Mengalikan dua operan. 13
/ divisi Membagi operan pertama dengan operan kedua. Hasil pembagian dapat berupa bilangan bulat atau floating point. 13
% Modulo (sisa pembagian) Menghitung sisa pembagian bilangan bulat dari operan pertama dengan operan kedua. Berlaku untuk bilangan bulat dan bilangan floating point. 13
var x = 5, y = 8, z; z = x + y // mengembalikan 13 z = x - y; // mengembalikan -3 z = - y; // mengembalikan -8 z = x * y; // mengembalikan 40 z = x / y; // mengembalikan 0,625 z = y % x; // kembali 3

2. Operator penugasan

Operator penugasan digunakan untuk menetapkan nilai ke variabel. Operator gabungan memungkinkan Anda untuk menyimpan nilai awal dan selanjutnya dalam satu variabel.

var a = 5; // tetapkan nilai numerik 5 ke variabel a var b = "halo"; // simpan string hellow dalam variabel b var m = n = z = 10; // tetapkan variabel m, n, z nilai numerik 10 x += 10; // setara dengan x = x + 10; x -= 10; // setara dengan x = x - 10; x *= 10; // setara dengan x = x * 10; x /= 10; // setara dengan x = x / 10; x%= 10; // setara dengan x = x % 10;

3. Operator penambahan dan pengurangan

Operasi pertambahan dan pengurangan adalah unary dan menambah dan mengurangi nilai operan satu per satu. Operan dapat berupa variabel, elemen array, properti objek. Paling sering, operasi semacam itu digunakan untuk menambah penghitung dalam satu lingkaran.

var x = y = m = n = 5, z, s, k, l; z = ++x * 2; /* sebagai hasil perhitungan akan mengembalikan nilai z = 12, x = 6, mis. nilai x terlebih dahulu ditambah 1, kemudian dilakukan operasi perkalian */ s = y++ * 2; /* sebagai hasil perhitungan akan mengembalikan nilai s = 10, y = 6, mis. pertama, operasi perkalian dilakukan, kemudian nilai yang ditambah 1 disimpan dalam variabel y */ k = --m * 2; // akan mengembalikan nilai k = 8, m = 4 l = n-- * 2; // akan mengembalikan nilai l = 10, n = 4

4. Operator perbandingan

Operator Perbandingan digunakan untuk mencocokkan operan, hasil ekspresi dapat berupa salah satu dari dua nilai - true atau false . Operan tidak hanya berupa angka, tetapi juga string, boolean, dan objek. Namun, perbandingan hanya dapat dilakukan pada angka dan string, sehingga operan yang bukan angka atau string akan dikonversi.

Jika kedua operan tidak berhasil dikonversi menjadi angka atau string, operator selalu mengembalikan false .

Jika kedua operan adalah string/angka, atau dapat dikonversi menjadi string/angka, keduanya akan dibandingkan sebagai string/angka.

Jika satu operan adalah string/diubah menjadi string dan yang lainnya adalah angka/diubah menjadi angka, maka operator akan mencoba mengubah string menjadi angka dan melakukan perbandingan numerik. Jika string bukan angka, itu diubah menjadi NaN dan perbandingannya dievaluasi menjadi false .

Paling sering, operasi perbandingan digunakan saat mengatur cabang dalam program.

Tabel 4. Operator perbandingan
Operator/Operasi Keterangan Sebuah prioritas
== Kesetaraan Menguji dua nilai untuk kecocokan, memungkinkan konversi jenis. Mengembalikan nilai true jika operannya sama dan false jika berbeda. 9
!= Ketimpangan Mengembalikan nilai true jika operand tidak sama 9
=== Identitas Menguji dua operan untuk "identitas" menggunakan definisi pencocokan ketat. Mengembalikan nilai true jika operand sama tanpa konversi tipe. 9
!== Tidak identik Melakukan pemeriksaan identitas. Mengembalikan nilai true jika operan tidak sama tanpa konversi tipe. 9
> Lainnya Mengembalikan true jika operan pertama lebih besar dari operan kedua, jika tidak mengembalikan false . 10
>= Lebih besar dari atau sama Mengembalikan true jika operan pertama tidak kurang dari operan kedua, jika tidak mengembalikan false . 10
Mengembalikan true jika operan pertama kurang dari yang kedua, jika tidak mengembalikan false . 10
Mengembalikan true jika operan pertama tidak lebih besar dari operan kedua, jika tidak mengembalikan false . 10
5 == "5"; // mengembalikan true 5 != -5.0; // mengembalikan true 5 === "5"; // mengembalikan false false === false; // mengembalikan true 1 !== true; // mengembalikan true 1 != true; // akan mengembalikan false karena true diubah menjadi 1 3 > -3; // mengembalikan true 3 >= "4"; // akan mengembalikan salah

5. Operator logika

Operator logis memungkinkan Anda menggabungkan kondisi yang mengembalikan nilai boolean. Paling sering digunakan dalam pernyataan if.

(2 < 3) && (3===3); // вернет true, так как выражения в обеих скобках дают true (x < 10 && x >0); // akan mengembalikan true jika x antara 0 dan 10 !false; // mengembalikan benar

6. Operator bitwise

Operator Bitwise beroperasi pada operan sebagai urutan 32-bit nol dan satu dan mengembalikan nilai numerik yang menunjukkan hasil operasi, ditulis dalam notasi desimal. Bilangan bulat dianggap sebagai operan, bagian pecahan dari operan akan dibuang. Operasi bitwise dapat digunakan, misalnya, saat mengenkripsi data, bekerja dengan flag, dan membatasi hak akses.

Tabel 6. Operator bitwise
Operator/Operasi Keterangan Sebuah prioritas
& Sedikit demi sedikit DAN Jika kedua bit adalah 1 , maka bit yang dihasilkan adalah 1 . Jika tidak, hasilnya adalah 0 . 8
| Sedikit demi sedikit ATAU Jika salah satu operan berisi 1 pada posisi, hasilnya juga akan berisi 1 pada posisi tersebut, jika tidak, hasil pada posisi tersebut adalah 0 . 6
^ XOR Jika satu, dan hanya satu nilai yang berisi 1 pada posisi mana pun, maka hasilnya akan berisi 1 pada posisi tersebut, jika tidak, hasil pada posisi tersebut adalah 0 . 7
~ Penolakan Operasi negasi bitwise dilakukan pada representasi biner dari nilai ekspresi. Setiap posisi yang mengandung 1 dalam ekspresi aslinya diganti dengan 0 . Setiap posisi yang mengandung 0 dalam ekspresi aslinya menjadi 0 . Angka positif dimulai dari 0 , angka negatif dimulai dari -1 , jadi ~ n == -(n+1) . 14
Operator menggeser bit operan pertama ke kiri dengan jumlah posisi bit yang ditetapkan oleh operan kedua. Nol digunakan untuk mengisi posisi di sebelah kanan. Mengembalikan hasil dari jenis yang sama dengan operan kiri. 11
>> Geser sedikit ke kanan Operator menggeser bit operan pertama ke kanan dengan jumlah posisi bit yang ditetapkan oleh operan kedua. Digit yang berada di luar jangkauan akan dihapus. Bit paling signifikan (ke-32) dibiarkan tidak berubah untuk mempertahankan tanda hasil. Jika operan pertama adalah positif, bit tinggi dari hasil diisi dengan nol; jika operan pertama negatif, bit tinggi dari hasil diisi dengan satu. Menggeser nilai ke kanan dengan satu posisi sama dengan membagi dengan 2 (dengan membuang sisanya), dan menggeser ke kanan dengan dua posisi sama dengan membagi dengan 4, dan seterusnya. 11
>>> Pergeseran kanan bitwise tanpa tanda Operator menggeser bit operan pertama ke kanan dengan jumlah posisi bit yang ditetapkan oleh operan kedua. Nol ditambahkan ke kiri terlepas dari tanda operan pertama. Digit yang berada di luar jangkauan akan dihapus. 11
var x = 9, y = 5, z = 2, s = -5, hasil; // 9 sama dengan 1001, 5 sama dengan 0101 result = x & y; // mengembalikan 1 (setara dengan 0001) result = x | y; // mengembalikan 13 (setara dengan 1101) result = x ^ y; // akan mengembalikan 12 (setara dengan 1100) result = ~ y; // mengembalikan -6 (setara dengan 1100) result = x<< y; // вернет 288 (эквивалентно 100100000) result = x >>z; // mengembalikan 2 (setara dengan 10) result = s >>> z; // mengembalikan 1073741822 (setara dengan 111111111111111111111111111110)

7. Operator String

Ada beberapa operator yang beroperasi pada string dengan cara khusus.

"1" + "10"; // akan mengembalikan "110" "1" + 10; // mengembalikan "110" 2 + 5 + "pensil warna"; // mengembalikan "7 pensil warna" "Pensil warna" + 2 + 5; // mengembalikan "Pensil warna 25" "1" > "10"; // akan mengembalikan false "10"<= 10; // вернет true "СССР" == "ссср"; // вернет false x = "micro"; x+= "soft"; // вернет "microsoft"

8. Operator Khusus

Tabel 8. Operator Khusus
Operator/Operasi Keterangan Sebuah prioritas
. Mengakses properti Mengakses properti dari suatu objek. 15
, Perhitungan berganda Mengevaluasi beberapa ekspresi independen yang ditulis dalam satu baris. 1
Pengindeksan array Mengakses elemen array atau properti objek. 15
() Pemanggilan fungsi, pengelompokan Mengelompokkan operasi atau memanggil fungsi. 15
typeof Definisi tipe data Operator unary, mengembalikan tipe data operan. 14
instanceof Periksa jenis objek Operator memeriksa apakah suatu objek adalah turunan dari kelas tertentu. Operan kiri harus berupa objek, operan kanan harus berisi nama kelas objek. Hasilnya akan benar jika objek yang ditentukan di sebelah kiri adalah turunan dari kelas yang ditentukan di sebelah kanan, salah jika sebaliknya. 10
di Memeriksa apakah ada properti Operan kiri harus berupa string, dan operan kanan harus berupa larik atau objek. Jika nilai kiri adalah properti dari suatu objek, hasilnya akan benar. 10
pembuatan Obyek baru Operator membuat objek baru dengan properti yang tidak ditentukan, lalu memanggil fungsi konstruktor untuk menginisialisasinya (melewati parameter). Bisa juga digunakan untuk membuat array. 1
menghapus Operator memungkinkan Anda untuk menghapus properti dari objek atau elemen dari array. Mengembalikan nilai true jika penghapusan berhasil, false jika sebaliknya. Ketika elemen array dihapus, panjangnya tidak berubah. 14
void Mendefinisikan ekspresi tanpa nilai balik Operator unary, membuang nilai operan dan mengembalikan underfined . 14
?: Operasi ekspresi bersyarat Operator ternary memungkinkan Anda mengatur percabangan sederhana. Ada tiga operan yang terlibat dalam ekspresi, yang pertama harus berupa nilai boolean atau dikonversi ke dalamnya, dan yang kedua dan ketiga harus berupa nilai apa saja. Jika operan pertama adalah true , maka ekspresi kondisional akan mengambil nilai dari operan kedua; jika salah - maka yang ketiga. 3
document.write("halo dunia"); // menampilkan string hello world i = 0, j = 1; // menyimpan nilai dalam variabel function1(10, 5); // pemanggilan fungsi function1 dengan parameter 10 dan 5 var tahun = ; // membuat array dengan elemen typeof (a:1); // mengembalikan "objek" var d = Tanggal baru(); // buat objek baru menggunakan konstruktor Date() dari Date; // mengembalikan true var mycar = (make: "Honda", model: "Accord", tahun: 2005); "buat" di mobil saya; // mengembalikan true var obj = Obyek baru(); // membuat objek kosong var food = ["susu", "roti", "daging", "minyak zaitun", "keju"]; hapus makanan; // menghapus elemen keempat dari array food x > 10 ? x*2:x/2; // mengembalikan x * 2 jika x > 10, jika tidak x / 2

9. Komentar dalam JavaScript

Komentar satu baris: awali teks komentar dengan // karakter.