Переменные объявления поднимаются вверху контекста выполнения, в этом случае пользователи функции. Переписывая их, чтобы показать, как это выглядит с поднятой точки зрения, часто устраняет любую путаницу
var name = "Paul";
function users () {
var name;//<- hoisted variable declaration
if (!name) {
name = "Jack";
}
console.log(name);
}
users(); //outputs "Jack"
vs.
var name = "Paul";
function users () {
if (!name) {//no hoisted variable declaration, uses global
name = "Jack";
}
console.log(name);
}
users(); //outputs "Paul"
Контексты выполнения содержат несколько ключевых компонентов, наиболее важными из которых являются лексическая среда и переменная среда. Я подробнее расскажу о различиях между ними (и некоторой краткой историей), если вы заинтересованы здесь: https://stackoverflow.com/a/32573386/1026459
Немного качественного времени с Google привело меня к статье CodeProject, названной, "Создав Ваши Собственные Звуковые Предупреждения". Кажется, что секретный соус является всей нижней частью HKEY_CURRENT_USER\AppEvents
ключ реестра.
От статьи:
Хорошо, было очень легко создать новую Звуковую Аварийную Схему. Теперь давайте переместимся для добавления нашего собственного Звукового Аварийного Типа в звуках. Поскольку это выполняет эти шаги.
- Создайте новый Ключ под HKEY_CURRENT_USER\AppEvents\Schemes\App. Значение по умолчанию и имя это XYZAlert
- Создайте другой ключ под ключевым XYZAlert (ключ, который Вы создали на вышеупомянутом шаге), и имя это .default
- Установите значение по умолчанию .default ключа к пути некоторого .wav файла. например, C:\abc\abc.wav
- Создайте другой ключ под XYZAlert и именем, которые к .current и также устанавливают путь в некоторый wav файл или оставляют это незаполненное.
- Теперь Создайте другой ключ под HKEY_CURRENT_USER\AppEvents\EventLabels и именем это XYZAlert
- Установите значение по умолчанию этого ключа к чему-либо как "Предупреждение XYZ Здесь".
Это - конец. Теперь перейдите к своей панели управления и запустите апплет звуков. Вы будете видеть новый звуковой аварийный тип с именем Предупреждение XYZ.
Обратите внимание, что также необходимо играть звуки с помощью собственного вызова "PlaySound".