2012-05-17 3 views
6

Я пытаюсь объявить переменную, значение которой является другой переменной, которая не установлена ​​в это время.Javascript "pre set" переменная?

var add = 1 + three; 
var three = 3; 
document.getElementById('thediv').innerHTML = add; 
//results in "NaN" 

http://jsfiddle.net/seSMx/1/

Есть ли способ сделать это с помощью Jquery/Javascript?

+4

Зачем вам это нужно? –

+2

Почему бы не 'var three = 3; var add = 1 + three; '? >> http://jsfiddle.net/skram/seSMx/2/ << –

+0

Если бы я сказал вам, у вас есть ответ? – Norse

ответ

11

Вы можете включить добавить в функцию,

http://jsfiddle.net/seSMx/3/

function add() { 
    return 1 + (three || 0); 
} 

var three = 3; 
document.getElementById('thediv').innerHTML = add(); 

Хотя, это было бы очень трудно следовать по моему мнению. Я хотел бы сделать шаг дальше и сделать three аргумент для add

function add(three) { 
    return 1 + (three || 0); 
} 

document.getElementById('thediv').innerHTML = add(3); 
+0

Мне это нравится ... Мне нравится это ... – Norse

+1

+1 для версии для арм .. много аккуратный. –

6

это то, что вы собираетесь для?

var add = "1 + three"; 
var three = 3; 
document.getElementById('thediv').innerHTML = eval(add); 
+6

'' eval'.replace (/ a /, 'i'); '- Просто скажи. Но здесь * работает *. – Sampson

+0

уверен, что это eval - не использовал бы его вообще, но исходный вопрос, казалось, нуждался в этом, но должен сказать, что функциональная версия выглядит намного лучше – rezna

Смежные вопросы