2015-02-08 2 views
-1

У меня есть этот JS-код, в котором я бы хотел вызвать x var и установить значение. Но это не работает: Когда функция возвращает значение х, результат undefined:JavaScript: Код issuse

<!DOCTYPE html> 
<html> 
<head> 
<title>test</title> 
<script type="text/javascript"> 
var myvar={ 
FirstL:function(){ 
    var x='hello world'; 
} 
} 
</script> 
</head> 
<body> 
<input type="button" value="click me" onclick="document.write(myvar.FirstL().x);" > 
</body> 
</html> 
+0

Потому что ваша функция ничего не возвращает? –

+1

Когда я возвращаюсь, я получаю undefined restlt? – Ega

ответ

0

var x является частным переменным, и вы не можете использовать его вне области видимости функции, вы можете просто вернуть й и вызов ваш метод:

var myvar={ 
FirstL:function(){ 
    var x='hello world'; 
    return x; 
} 
} 

В атрибуте HTML:

onclick="document.write(myvar.FirstL());"//FirstL() returns the 'x' 

Предложение:

Не используйте document.write(), вы можете использовать его в качестве альтернативы.

+0

как я могу установить значение x когда я звоню FirstL Функция – Ega

+0

Я показал в своем ответе ... попробуйте это ...! –

+1

, если вы хотите, чтобы синтаксис соответствовал точно вам нужно было бы возвратить 'return {x: x};' тогда вызов выглядит как 'document.write (myvar.FirstL(). X);' – tophallen

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