Поскольку fullName
объявлено как глобальная переменная (вне какой-либо функции), вы можете напрямую обращаться к ней в любом месте вашего кода.
Проверьте ниже:
Примечание: Я специально добавил alert(fullName);
во все функции, чтобы показать доступность глобальной переменной.
var firstName="Adina";
var secondName="Avram";
var fullName = firstName + " " + secondName; // add a space between the names?
function sniffer(message) {
console.log("Event: " + message);
alert("inside function alert");
alert("This is full name in sniffer " + fullName);
}
function outSide() {
alert("called: outSide() function");
}
document.getElementById("butt").onclick = function() {
sniffer("Clicked on secondP");
outSide();
alert("This is full name in the onclick listener " + fullName);
}
<p id="butt">Click me</p>
Редактировать: Отображение полного примера на полном шаблоне HTML
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<script src="external.js"></script>
<script>
var firstName="Adina";
var secondName="Avram";
var fullName=firstName+secondName;
function sniffer(message) {
console.log("Event: " + message);
alert("inside function alert");
alert("This is full name in sniffer " + fullName);
}
alert("not in function code");
</script>
</head>
<body id="bodyly">
<nav id="navigation"></nav>
<p id="butt">Click me</p>
<script>
document.getElementById("butt").onclick = function() {
sniffer("Clicked on secondP");
outSide();
alert("This is full name in the onclick listener " + fullName);
};
</script>
</body>
</html>