LẬP TRÌNH CĂN BẢN - Trang 131

/codegym.vn/ - 126

Ở đoạn mã trên, biến capital được khai báo bên trong khối lệnh if, do đó nó chỉ có
phạm vi ở bên trong khối lệnh đó. Việc sử dụng biến capital ở ngoài khối lệnh if
không đúng, do đó kết quả in ra của câu lệnh đó là undefined.

Phạm vi hoạt động của biến trong vòng lặp for

Đối với vòng lặp for, biến được khai báo trong phần khởi tạo của vòng lặp thì có phạm
vi trong toàn bộ vòng lặp. Biến được khai báo trong phần thân của vòng lặp thì chỉ có
phạm vi bên trong thân vòng lặp (tính từ vị trí được khai báo cho đến hết khối lệnh
chứa nó).
Ví dụ:

1.

for

(

let

i

=

0

;

i

<

10

;

i

++)

{

//Điểm bắt đầu phạm vi biến i

2.

//...

3.

//...

4.

let

j

;

//Điểm bắt đầu phạm vi biến j

5.

//...

6.

//...

7.

//...

8.

}

//Điểm kết thúc phạm vi biến i và j

Phạm vi của tham số của hàm

Tham số của hàm cũng là các biến địa phương. Phạm vi của các tham số là trong
toàn bộ hàm đó. Mã trong hàm capitalOf dưới đây sử dụng được biến địa phương
country, nhưng mã bên ngoài hàm thì không:

1.

function

capitalOf

(

country

)

{

2.

let

capital

;

3.

if

(

country

===

"Việt Nam"

)

{

4. capital

=

"Hà Nội"

;

5.

}

6.

return

capital

;

7.

}

8.
9. console

.

log

(

capitalOf

(

"Việt Nam"

));

// Hà Nội

10. console

.

log

(

country

);

// undefined

Ở đoạn mã trên, không thể sử dụng được biến country ở bên ngoài hàm capitalOf(),
do đó kết quả hiển thị sẽ là undefined.

7. Hàm đệ quy

Hàm đệ quy (recursive function) là hàm mà có thực hiện lời gọi đến chính nó. Loại
hàm này được sử dụng phổ biến trong những tình huống mà chúng ta thực hiện cùng
một thao tác nhưng trên các đối tượng khác nhau được phái sinh từ đối tượng trước
đó.
Ví dụ:
Sử dụng hàm đệ quy để tính giai thừa của một số.
Công thức tính giai thừa:

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.