this
Javascript: this
определяется тем, как функция вызывается не, где она была создана! this
определяется Объектом, который остается от точки. (window
в глобальном пространстве) this
относится к элементу DOM, на котором было вызвано событие. new
ключевое слово значение this
относится к вновь созданному объекту this
с помощью функций: call
, apply
, bind
let object = {
prop1: function () {console.log(this);}
}
object.prop1(); // object is left of the dot, thus this is object
const myFunction = object.prop1 // We store the function in the variable myFunction
myFunction(); // Here we are in the global space
// myFunction is a property on the global object
// Therefore it logs the window object
document.querySelector('.foo').addEventListener('click', function () {
console.log(this); // This refers to the DOM element the eventListener was invoked from
})
document.querySelector('.foo').addEventListener('click', () => {
console.log(this); // Tip, es6 arrow function don't have their own binding to the this v
}) // Therefore this will log the global object
.foo:hover {
color: red;
cursor: pointer;
}
<div class="foo">click me</div>
function Person (name) {
this.name = name;
}
const me = new Person('Willem');
// When using the new keyword the this in the constructor function will refer to the newly created object
console.log(me.name);
// Therefore, the name property was placed on the object created with new keyword.
Я столкнулся с той же проблемой несколько недель назад и написал следующее: http://smtp4dev.codeplex.com
Совместимый с Windows 7 / Vista / XP / 2003/2010 фиктивный SMTP-сервер. Сидит в системном трее и не доставляет полученные сообщения. Полученные сообщения можно быстро просмотреть, сохранить и проверить источник / структуру. Полезно для тестирования / отладки программного обеспечения, генерирующего электронную почту.
Dumbster might be what you want then. It's an open source fake SMTP server written in Java. It takes the place of a real SMTP server, so you can test your app in a realistic setting, without having any code stubbed out. You can make sure the right messages are sent to the SMTP server without actually delivering messages.
Это похоже на smtp4dev, за исключением того, что он реализован в java, поэтому он работает для разработчиков, отличных от Windows.
Также есть Papercut и Neptune , жаль, что ни один из них не может быть запущен портативным способом.
Теперь существует веб-версия Papercut.
Также мне подходит версия, основанная на приложении.
, если вы используете java, я бы использовал Wiser : Wiser - это простой SMTP-сервер, который можно использовать для приложений модульного тестирования, отправляющих почту.
Несколько лет назад я наткнулся на следующее решение для платформы .NET.
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:\TestMailMessages\" />
</smtp>
</mailSettings>
</system.net>
Просто поместите приведенный выше код в App.config или Web.config. Теперь при отправке сообщения оно будет храниться как файл в директории, которую вы указали как "pickupDirectoryLocation". Работает просто замечательно.