Синтаксис не позволяет отображать let
, const
или var
в этой позиции. Но вы можете просто определить переменную (без инициализации) и затем выполнить if
:
let n;
if (n = SomeFunc()) {
// n is truthy
} else {
// n is falsy
}
Если вы хотите ограничить область действия этой переменной только этим if
, то поместите ее в block:
// other code...
{
let n;
if (n = SomeFunc()) {
// n is truthy
} else {
// n is falsy
}
}
// other code...
Конечно, если ваша функция не имеет другого кода, тогда дополнительный блок не требуется: блок функции будет применен.
Многие не согласятся с вами, что задание в условии if
является чистым . Лучшая практика - избегать таких побочных эффектов в состоянии, хотя мнения по этому вопросу расходятся. Тем не менее, это не займет больше символов, чтобы написать это следующим образом, и это выглядит мне чище:
{
let n = SomeFunc();
if (n) {
// n is truthy
} else {
// n is falsy
}
}
Еще один подход заключается в использовании немедленно вызванного выражения функции , которому вы указываете возвращаемое значение функции в качестве аргумента:
(n => {
if (n) {
// n is truthy
} else {
// n is falsy
}
})(SomeFunc());
Хм я не Shure, это работает, но попытка, добавляющая WebDev.WebServer.exe, который будет разблокирован из Вашего Windows Firewall.
Если это не работает, необходимо установить IIS и установить виртуальный каталог непосредственно на папке разработки.
AFAIK, WebDev кодируется для специфического отклонения всех внешних соединений..., таким образом, короткий ответ был бы "нет".
Лучшая вещь сделать была бы, просто публикуют веб-сайт к Вашему VPC рабочий IIS и тестируют его тот путь.
Я использую одно из изображений VPC Microsoft для тестирования IE6 с помощью веб-сервера отладки, таким образом, я не знаю то, что могло вызывать проблемы. Кажется, что это могла быть сетевая проблема с виртуальной машиной.
Также IEtester работает хорошо на быстрые проверки рендеринга и функциональности. Я должен все же видеть любые существенные различия между поведением в IEtester и реальным IE6 под XP, но возможность существует так, я все еще сверяюсь с виртуальной машиной перед выпуском к производству.
Обходной путь, при котором webdev.webserver поврежден для отказа от удаленных запросов нужно использовать легкий прокси-сервер, работающий на том же хосте, что и webdev.webserver. Затем удаленный браузер использует прокси-сервер, и его запросы отображаются для webdev.webserver как запросы, исходящие от localhost. Я успешно использовал Privoxy .
Пример конфигурации:
http: // localhost: 3254
) С точки зрения webdev.webserver запросы будут исходить из Privoxy на 127.0.0.1, и он с радостью их обслужит.
ОБНОВЛЕНИЕ Сейчас я использую для этого Fiddler2. В Fiddler есть опция «Разрешить удаленным компьютерам подключаться» в Инструменты> Параметры> Подключения. Но также обратите внимание, что IISExpress можно настроить для приема удаленных подключений.
Я столкнулся с той же проблемой и после некоторого исследования обнаружил, что метод, описанный на этом сайте, у меня работает: http: // www .funkymule.com / post / 2009/04/17 / Making-ASPNET-Development-Server-Listen-for-Remote-Connections.aspx
Он включает в себя изменение и повторную сборку сервера Webdev и DLL, но как только все будет готово и я смог использовать старые версии Internet Explorer, работающие в режиме VPC / XP, для подключения к серверу WebDev, работающему на хост-машине, через IP-адрес внутренней сети (192.168.xx).