なぜこれが機能するのか
app.prints(address,list.options[list.selectedIndex].value);
しかし、これはそうではありませんか?
app.prints(status,macAddress);
JavaScript
var hey = 5;
var app = {
    createList: function () {
        for (var i = 0; i < 5; i++) {
            list.options[i] = new Option(hey + i, "mac" + i);
        }
        app.prints(address, list.options[list.selectedIndex].value);
    },
    prints: function (location, message) {
        location.innerHTML = message;
    },
    manageConnection: function () {
        var macAddress = list.options[list.selectedIndex].value;
        app.prints(status, macAddress);
    }
}
HTML
<!DOCTYPE html>
<!-- Don't panic! All this 
    code looks intimidating but eventually it  will make sense. -->
<html lang="en">
<head>
    <link rel="stylesheet" type="text/css" href="style.css" />
    <script type="text/javascript" src="ECMA.js"></script>
    <title>My LCD code</title>
</head>
<body onload="app.initialize();">
    <p>Welcome to the LCD software</p>
    <select id="list" onchange="app.prints
    (address,list.options[list.selectedIndex].value);"></select>
    <div id="address"></div>
    <button id="connect" onclick="app.manageConnection();">Connect</button>
    <div id="status">hi</div>
</body>
</html>