<?php
$nameErr = $emailErr = $genderErr = "";
function checkDone()
{
global $nameErr;
if ($nameErr == "") {
return "true";
} else {
return "false";
}
}
echo checkDone();
(0, obj.func)()
или (obj.func || _.noop)()
let obj = {
func: function() {
console.log(this === obj);
}
};
obj.func(); // -> true
(obj.func)(); // -> true
(0, obj.func)(); // -> false
(obj.func || _.noop)(); // -> false
()
(помимо вызова функции, и, очевидно, группировки в арифметических операциях). А делает он вот что: вычисляет выражение и возвращает его. Это позволяет не создавать временные переменные на каждый чих и писать такие вещи:(obj1 || obj2).func() // вызывает obj2.func, если obj1 null, undefined, false и т.д.
options || (options = {}) // сделает options пустым объектом,
// если он null, undefined, false, часто использовалось для задания значения по умолчанию до ES2015
var obj = obj1 || obj2;
obj.func();
if (!options) {
options = {}
}
(obj.func || _.noop)();
obj.func - возвращает функцию
где используют второй вариант?
(function($, window, document, undefined) {
// ...
})(jQuery, window, document, undefined);
Почему такое не работает
Почему не срабатывает alert
getInput({ name: 'Rich', speciality: 'JavaScript' }, logStuff);
getInput({ name: 'Rich', speciality: 'JavaScript' }, logOther);
getInput({ name: 'Rich', speciality: 'JavaScript' }, logToDisk);