Добрый день!
Есть некоторый, мною написанный код на JS.
onload = function(){
/* events */
O('start').onclick = function(){start()}
O('backtooptions').onclick = function(){stop()}
O('skip').onclick = function(){skip()}
O('confirmanswer').onclick = function(){confirmanswer()}
/*variables*/
settin = new Object();
settin = {
time:0,
negative: false,
sym:{
add:false,
sub:false,
mul:false,
div:false
},
range:{
min: 0,
max:0
}
}
function stop(){
S('play').display='none';
S('options').display='';
}
function confirmanswer(){
}
function checktime(time){
if(time <= 0){
return 0;
}
if(time > 10){
return 10;
}
else{
return time;
}
}
function checksettings(){
var signs = 0;
for (var i = 0; i < signs.length(); i++){
}
}
function start(){
S('options').display='none';
S('play').display='';
options.time = checktime(Math.floor(parseInt(O('time').value)));
}
train = "Hello";
function generator(min,max){
}
}
У меня есть несколько вопросов по нему, а именно:
Вопрос первый:
После объявления переменной например var a = 'a';, при попытке вызвать ее в браузерной консоли, пишет что: "переменная не определена", но если код взаимодействует с ней, то все работает(но ее также нельзя вызвать из консоли).
Проблема решена с помощью удаления var.
Собственно вопрос: Почему переменная объявляется только при отсутствии var?
Вопрос два: С функциями тоже самое, их нельзя вызвать через консоль, но вот например, на события функции вешаются отлично.
PS
Что касается функций O и S:
function O(i){
return typeof i == 'object' ? i : document.getElementById(i);
}
function S(i){
return O(i).style;
}
Когда переменная объявлена в функции, то доступа к ней из вне нет, это локальная переменная.
(function() {
var f = "первая";
console.log(f);
d = "вторая";
console.log(d)
})()
console.log(d)
А если ты переменную не объявляешь. Парсер делает следующее. создает вне функции переменную var d; потом в функции в присваивает значение и уже она становится не локальной, а глобальной. По этому без var она тебе доступна вне функции
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости