Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
_.extend() дают желаемый эффект, и успокаиваются. Дальше в основном только восторги: нравятся object literals и callbacks, не нравится три равно в ряд.
Type collectionType = new TypeToken<Collection>(){}.getType();
Collection customers = gson.fromJson(json, collectionType);
Заметьте там anonymous class для типа - очень эффектный способ специализации, но выглядит как черная магия. Это как раз тот случай, когда приходится "воевать" с типами.
Но в случае с UI Java, к сожалению, даже среда разработки выручить не может.widget.getElement().getStyle().setProperty("fontSize", "1.2em");
grid.getCellFormatter().setWidth(0, 0, "45%"); document.getelementById('#bubuka') для столь фундаментальной и базовой операции. Библиотечные костыли $('#bubuka') костылями и остаются из-за позавчерашнего синтаксиса. Должно быть просто #bubuka, или как-то столь же просто, ДОМ должен быть одним из базовых типов данных. В версии jQuery мы имеем шесть мусорных символов, что, конечно, прогресс по сравнению с тремя десятками без неё, но в идеале должно быть не больше двух. ИМО.Стандартная библиотека JS это браузер.
funсtion my_cool_function(obj1, obj2) {
if (do_smth(obj1)) {
return obj2;
} else {
return smth_else(obj2);
}
}
— Оу я сегодня красила ногти в розовый цвет и программировал на JavaScript и хотел разбить строку из 6 символов на строки по два символа. Я нашла метод split, который переводится как «делить», я написала '123456'.split('2'), а оно мне выводит глупость какую-то! Этот JavaScript такооой слоооожный и тупооооойMath.min() < Math.max(); // false
",,," == new Array(4); // true
0 == "0" // true, wtf!
var foo = [0];
console.log(foo == !foo);
console.log(foo == foo);
Its still hilarious. Now, check this out:
3..toString();
// "3"
3 > 2 > 1 // false
parseInt('06'); // 6
parseInt('08'); // 0
NaN === NaN // false
var a := 123; // SyntaxError
new Integer(500) != new Integer(500), а в языке с перезагрузкой операторов — наоборот. Всё зависит от того, то взять за точку отсчёта. И для JS почему-то берут Java.var a = {};
a == {} // false
var a = [];
a == [] // false
Применяя эту логику для JS пытаемся написать правило
«Принцип наименьшего удивления» таки имеет единицы измерений и способы определения их значения.
uiWidget.onclick( element.run );
uiWidget.onclick( element.run.bind( element ) );
final element // bla-bla
button.addEventListener(
new MouseAdapter() {
public void onClick() {
element.run();
}
}
)
var p1 = new Point( 5, 8 );
var p2 = new Point( 5, 8 );
p1 == p2; // false
p1 === p2; // false
p1.equals( p2 ); // true
Я четыре года писал на GWT, и я могу уверенно сказать, что для веба утиная типизация лучше статической. И влияет оно только на скорость компиляции, а не на скорость исполнения кода.
function add_element( $e )
{
$this->elements[] = $e;
}
function set_x_legend( $x )
{
$this->x_legend = $x;
}
function set_y_legend( $y )
{
$this->y_legend = $y;
}
function set_bg_colour( $colour )
{
$this->bg_colour = $colour;
}
$chart->add_element( $line_out );
$chart->add_element( $line_in );
$chart->set_x_axis( $x );
$chart->set_y_axis( $y );
Блеск и нищета GWT (или почему я не верю в Dart часть 2)