Оба являются разными способами определения функции. Разница заключается в том, как браузер интерпретирует и загружает их в контекст выполнения.
Первый случай - выражение функции, которое загружается только тогда, когда интерпретатор достигает этой строки кода. Поэтому, если вы сделаете это следующим образом, вы получите сообщение об ошибке, что functionOne не является функцией.
functionOne();
var functionOne = function() {
// Some code
};
Причина в том, что в первой строке не присваивается значение functionOne, и, следовательно, это не определено. Мы пытаемся назвать его как функцию, и, следовательно, получаем ошибку.
Во второй строке мы назначаем ссылку анонимной функции на функциюOne.
Вторая case - это объявления функций, которые загружаются до выполнения любого кода. Поэтому, если вы сделаете следующее, вы не получите никакой ошибки, поскольку объявление загружается до выполнения кода.
functionOne();
function functionOne() {
// Some code
}
См. представление ниже.
Контроллер:
public class ContactsController : Controller
{
public ActionResult Index()
{
var model = // your model
return View(model);
}
}
Вид:
<table class="grid">
<tr>
<th>Foo</th>
</tr>
<% foreach (var item in Model) { %>
<tr>
<td class="left"><%: item.Foo %></td>
</tr>
<% } %>
</table>
Бритва:
@model IEnumerable<ContractPlain>
<table class="grid">
<tr>
<th>Foo</th>
</tr>
@foreach (var item in Model) {
<tr>
<td class="left"><@item.Foo></td>
</tr>
@}
</table>
] Если ваше действие возвращает List
контрактов, вы можете сделать следующее в представлении:
@model IEnumerable<ContractPlain>
@foreach(ContractPlain contract in Model)
{
<ul>
<li>@contract.ContractGuid</li>
<li>@contract.SenderId</li>
<li>@contract.ContractStatus</li>
<li>@contract.CreditEnd</li>
</ul>
}