JavaScriptда ташки ва ички функциялар параметрлари
Ташки функция ҳам, ички функция ҳам параметрларни қабул қилиши учун қилайлик:
function test(num) {
function func(localNum) {
console.log(localNum);
}
}
Ташки функция параметрини ички функция чақиришига узатайлик:
function test(num) {
function func(localNum) {
console.log(localNum); // 1 ни кўрсатади
}
func(num); //!! параметрни узатамиз
}
test(1); // параметр сифатида сон узатамиз
Мана, ички функцияда num ўзгарувчиси
ота-она функциянинг ташки ўзгарувчиси сифатида
ва localNum ўзгарувчиси ички функциянинг
локал ўзгарувчиси сифатида мавжуд бўлади.
Бу иккала ўзгарувчи ҳам бир хил қийматга эга бўлади:
function test(num) {
function func(localNum) {
console.log(num); // 1 ни кўрсатади
console.log(localNum); // 1 ни кўрсатади
}
func(num);
}
test(1);
Уларнинг фарқи шундаки: агар ички функцияда
num ўзгарувчиси ўзгартирилса - у ташки
функцияда ҳам ўзгаради:
function test(num) {
function func(localNum) {
num = 2; // num ўзгарувчисини ўзгартирамиз
}
func(num); // параметрни узатамиз
console.log(num); // 2 ни кўрсатади
}
test(1); // параметр сифатида сон узатамиз
localNum ўзгарувчиси эса локал бўлади.
Унинг ўзгаришлари ташки функцияда ҳеч қандай
ўзгаришларга олиб келмайди. Ва localNum
ўзгарувчисининг ўзи ҳам ички функциядан ташқарида
кўринмайди:
function test(num) {
function func(localNum) {
localNum = 2; // num ўзгарувчисини ўзгартирамиз
}
func(num); // параметрни узатамиз
}
test(1); // параметр сифатида сон узатамиз
Кодни ишга туширмасдан, консольга нима чиқарилишини аниқланг:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num);
}
test(1);
Кодни ишга туширмасдан, консольга нима чиқарилишини аниқланг:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num + 1);
}
test(1);
Кодни ишга туширмасдан, консольга нима чиқарилишини аниқланг:
function test(num) {
function func(localNum) {
console.log(num);
}
func(num + 1);
}
test(1);
Кодни ишга туширмасдан, консольга нима чиқарилишини аниқланг:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(num);
}
test(1);
Кодни ишга туширмасдан, консольга нима чиқарилишини аниқланг:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(localNum);
}
test(1);
Кодни ишга туширмасдан, консольга нима чиқарилишини аниқланг:
function test(num) {
function func(localNum) {
num = 2;
}
func(num);
console.log(num);
}
test(1);