Вот дополнительные ответы на некоторые вероятные вопросы:
JavaScript имеет только две области:
Global Scope
Функция Scope
Существует нет область блока в JavaScript!
Все переменные, объявленные внутри области действия, доступны, как если бы все они были объявлены в начале этой области, из-за переменной подъемной силы.
Именно поэтому рекомендуется объявлять всю переменную в начале своей области, чтобы лучше отражать реальность, возможно, в одном объявлении var.
например.
function person(firstname, lastname, age, eyecolor) {
var changeName = function (name) {
this.lastname = name;
}
this.firstname = firstname;
this.lastname = lastname;
this.age = age;
this.eyecolor = eyecolor;
this.changeName = changeName;
}
Фактически, в этом случае переменная или именованная функция вообще не нужны.
Просто назначить анонимную функцию свойство объекта непосредственно:
function person(firstname, lastname, age, eyecolor) {
this.firstname = firstname;
this.lastname = lastname;
this.age = age;
this.eyecolor = eyecolor;
this.changeName = function (name) {
this.lastname = name;
}
}
инструментов, как JSLint или JSHint помогут вам улучшить свой код JavaScript.
См. this sample @ codepen.io (нажмите CTRL + SHIFT + 7 в редакторе JS) и JSHint use at codepen.io.
Наконец, Mozilla Developer Network - гораздо лучший ресурс, чем W3Schools.
Это даже научит вас document.write Notes, что не является хорошей практикой.
Не могли бы вы показать, что вы пытались? – Neal
И ** пожалуйста ** не использовать w3schools ... – Neal
Могу ли я узнать причину для downvote? – ADJ