Я новичок в использовании объектов Javascript и не могу объяснить, почему это не работает, несмотря на все мои усилия. Любая помощь приветствуется. Я размещаю весь файл, потому что он очень мал. Еще раз спасибо.Проблема с объектами JavaScript
<h1 id="mainHeading">
Testing Objects in Javascript
</h1>
</head>
<body>
<input id="inputBox" type="number">
<div id="response">
</div>
<script type="text/javascript">
var input = document.getElementById('inputBox');
var mainObj = {
keys: [],
numCheck: function() {
if(input.value >= 0 && input.value < 100) {
response.innerHTML = "Avg";
}
},
tracksKey: function (e) {
code = e.keyCode;
keys[code] = (e.type === "keydown");
checksKey();
},
checksKey: function() {
if (keys[13]) {
mainObj.numCheck();
}
},
}
window.addEventListener("keydown", mainObj.tracksKey);
window.addEventListener("keyup", mainObj.tracksKey)
</script>
</body>
Запишите, что вы пытаетесь достичь с помощью объекта. Очевидно, что вы хотите получить доступ к свойству под названием 'keys'. Итак, поскольку это свойство вашего 'mainObj' [литерала объекта] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Values,_variables,_and_literals#Object_literals), вы можете он использует 'mainObj.keys' вместо« ключей ». Если вы задаетесь вопросом, где ['this'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this) в' trackKey' указывает на время выполнения: это 'окно 'а не' mainObj'. –