Все остальные ответы на 100% правильны, но я думал, что добавлю расширенный / окончательный список областей в приложении Node.js, если кто-нибудь встретит это через Google, начиная с изучения Node.js или JavaScript:
Все, что объявлено без ключевого слова var
в любом файле, будет доступно из любого места в одном экземпляре сервера узла:
// foo.js
bar = 'baz';
// qux.js
console.log(bar); // prints 'baz'
Обратите внимание, что это считается плохой идеей, потому что это приложение сильно «связано» - это означает, что вам нужно будет открыть foo.js, чтобы выяснить, почему bar = 'baz'
в qux.js
Все, что объявлено с ключевым словом var
на верхнем уровне (не внутри функции или объекта или любого другого блока) файла node.js, находится в области модуля и будет быть доступным из любого места внутри одного и того же файла, но больше не будет существовать:
// foo.js
var bar = 'baz';
console.log(bar); // prints 'baz'
// qux.js
console.log(bar); // prints 'undefined'
Все, что объявлено с помощью ключевого слова var
внутри функции, будет доступно только from withi n эта функция, а не нигде:
// foo.js
function myFunction() {
var bar = 'baz';
console.log(bar); // prints 'baz'
}
function myOtherFunction() {
console.log(bar); // prints 'undefined'
}
// qux.js
console.log(bar); // prints 'undefined'
JavaScript - это функция с областью действия . В отличие от других языков [ block scoped ), переменные, объявленные в блоке внутри функции , доступны из любой другой части этой родительской функции . Например, это означает, что если вы объявляете новую переменную внутри цикла, она также доступна вне этого цикла, если вы все еще находитесь внутри родительской функции:
function myFunction() {
while (thing === true) {
var bar = 'baz';
thing = false;
}
console.log(bar); // prints 'baz'
}
Если вы обновляете существующую переменную, например используйте ключевое слово var
с именем переменной, которое уже было использовано, тогда значение, связанное с этим именем переменной, будет перезаписано в пределах области действия нового объявления :
var bar = 'foo';
console.log(bar) // prints 'foo'
function myFunction() {
var bar = 'baz';
console.log(bar);
}
myFunction(); // prints 'baz'
console.log(bar) // prints 'foo'
1) установить предварительную версию
$ sudo apt-get install build-essential checkinstall
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
2) Перейдите в папку src и получите tar-файл python3.5.2
$ cd /usr/src
$ wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
3) Теперь распакуйте загруженный архив на свой система.
$ sudo tar xzf Python-3.5.2.tgz
4) Скомпилируйте источник, используя alInstall
$ cd Python-3.5.2
$ sudo ./configure --enable-optimizations
$ sudo make altinstall
5) Проверьте установку
$ python3.5 -V