Рассмотрим следующие примеры:Перемещение переменных и параметров функций?
function a(a){
console.log(a);
function a(){}
var a=7;
console.log(a);
}
a(10)
Так почему же первая печать является функцией, а не 10;
Рассмотрим следующие примеры:Перемещение переменных и параметров функций?
function a(a){
console.log(a);
function a(){}
var a=7;
console.log(a);
}
a(10)
Так почему же первая печать является функцией, а не 10;
декларации функции анализируются на само время компиляции, и заявления перемещаются в начало функции, как этот
function a(a) {
var a = function a() {};
console.log(a);
a = 7;
console.log(a);
}
a(10)
Вот почему вы получаете [Function: a]
или что-то подобное в первом console.log
. Когда выполняется строка a = 7;
, a
присваивается значение 7
. Вот почему второй console.log
печатает 7
.
Когда функция выполняется, параметры функции - это как разбираться? –
@SIMDD Они похожи на переменную, объявленную внутри функции. – thefourtheye
Но в этом примере после подъема не были указаны назначенные параметры функции? –
Именно поэтому * грузоподъемность *. Вы используете это слово, но, похоже, вы не изучили, что это значит ...?! – deceze
Я знаю подъем, но когда есть параметр функции, я буду путать. –