Добрый день!
Есть некоторый, мною написанный код на 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 она тебе доступна вне функции
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как прописать путь с помощьюparent() к таблице показанной на скриншоте? На данный момент прописанный путь в JS работает с таблицей что сверху
Есть вот такой вот сайт у него в поиске интересный автокомплит, подскажите как можно реализовать такой же или подобный? Возможно есть какие...