Pull to refresh
0
0

Only reading

Send message

Извините, забыл об основных конструкторах, исправил.


Function.prototype.bind = function(thisArg) {
 function boun() {
  Array.prototype.unshift.apply(arguments, part);
  return self.apply(thisArg || this, arguments);
 }
 Array.prototype.shift.apply(arguments);
 var part = arguments, 
  self = this.prototype
   ? this.prototype.constructor
   : thisArg;
 boun.prototype = self.prototype;
 return boun;
};
==>Писал давно, зачем и когда не помню может, MDM MDN тогда и не было ;)
Доброго времени суток
@TheShock 5 июня 2016 в 00:11
Скажите, зачем усложнять и делать через `eval`, если на mdn есть полифил без него?
@XGuest 14 июня 2016 в 02:56
Использовал такой вариант, писал давно, сейчас не нужен

Писал давно, зачем и когда не помню может, MDM тогда и не было ;)

== > если на mdn есть полифил
Частичная реализация

Почему код с evel, раньше не понимал — «Конструктор у функции».
Нашел в старых файлах, copy ==> past и все, переписывать для комментария было лень, но для понимания полных стандартных возможностей хватало.

Не использую потому, что bind встроен, если нет, быстрей и проще написать 'apply' к имени-телу функции или конструктора.

Переписал полифил без evel.
Function.prototype.bind = function(thisArg) {
 function boun() {
  Array.prototype.unshift.apply(arguments, part);    // unshift arguments
  return self.prototype.constructor                  // constructor для {} и ()
   .apply(thisArg || this, arguments);               // в __proto__
 }
 Array.prototype.shift.apply(arguments);             // shift arguments
 var part = arguments, self = this;
 boun.prototype = self.prototype;                    // Для {} 
 return boun;                                        // Если () то лишняя команда
};
Но как минимум лишние:
— два вызова функции — полифила и обработчика.
— две обработки аргументов.
— одно условие.

P.S. Читаю ваши статьи, спасибо.

С наилучшими пожеланиями
XGuest
Спасибо за внимание, я не заметил.

Об объектах, как об аргументах раньше и не думал.

Строку:
Function("_", "return new _(" + arg + ")")(self)
На:
Function('$,_', 'return new $(' + arg.map(function (a, b) { return '_[' + b + ']'}) + ')')(self, arg)
Попробуйте так.
Function.prototype.bind = function(thisArg) {
 function boun() {
  var arg = part.concat(Array.prototype.slice.call(arguments));
  return this instanceof boun
   ? Function('$,_', 'return new $(' + arg.map(function (a, b) { return '_[' + b + ']'}) + ')')(self, arg)
   : self.apply(thisArg, arg);
 }
 var part = Array.prototype.slice.call(arguments, 1), self = this;
 return boun;
};


Использовал такой вариант, писал давно, сейчас не нужен
Полифилл
Function.prototype.bind = function(thisArg) {
 function boun() {
  var arg = part.concat(Array.prototype.slice.call(arguments));
  return this instanceof boun
   ? Function("_", "return new _(" + arg + ")")(self)
   : self.apply(thisArg, arg);
 }
 var part = Array.prototype.slice.call(arguments, 1), self = this;
 return boun;
};

/* Привязывание функций */
function bind_fun() {
 function add($A, $B, $C) {
  var $D = $A + $B + $C;
  console.log('Аргументы: %s\nРезультат: %s\n',
               Array.prototype.slice.call(arguments), $D);
  return $D;
 }
 bind = add.bind(null, 3, 5);   //
 bind(7);                       // ==> 15 (3 + 5 + 7)
 bind(17);                      // ==> 25 (3 + 5 + 17)
};


// https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Example:_Partial_Functions
/* частичные функции */
function _Partial_Functions() {
 function Point(a, b) {this.x = a;this.y = b;}
 Point.prototype.toString = function() {return this.x + "," + this.y;};
 var bind = Point.bind(null, 0), boun = new bind(5);
 console.log(boun.toString());  // ==> 0,5
};

// https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Example:_Creating_a_bound_function
/* Пример: частичные функции */
function _Creating_a_bound_function() {
 this.x = 9;
 var module = {x: 81, getX: function() { return this.x; }};
  $A = module.x                 // ==> 81 Значение свойства 'x' module
  $B = module.getX();           // ==> 81 Значение метода 'getX' module
  getX = module.getX;           // ссылка на функцию module.getX
  $C = getX();                  // ==>  9 this === глобальный объект
  boundGetX = module.getX.bind(module); // bind функции this === module
 console.log($A, $B, $C, boundGetX());  // ==> 81 81 9 81 
}
_Creating_a_bound_function()
_Partial_Functions()

 


Еще вариант
"undefined" === typeof Array.prototype.isArray && (Array.prototype.isArray = true);
Array.isArray || (Array.isArray = function(arg) {return arg.isArray;});

26.05.2016

С днём рождения!
Главную проблему, которые решают «Тематические медиа» все эти годы – как совместить желание рекламодателей охватывать всю аудиторию Хабра с желанием аудитории видеть Хабр тортом, а не лентой рекламных постов.

Возможно, когда то увяжут подписку на тематические хабы, с темами отправляемой рекламы.
Бакалов
==> Бокалов вам полных и звонких. ;)
С днем рождения, Хабр!
Бакалов вам полных и звонких.
Чтоб стол от закусок стонал.
Кошельки пухли от денег, головы от идей, а тела от удовольствий.
Удачи ребята. Новых успехов и побед.

Ну что, убедились? :)
В чем?
Убеждения — аксиомы ;)

Оно того стоило?
Что и чего? Время времени.
Приобрел или потерял…
Приобрел.
Сроки (год прошел) и передача материалов(прикрепил бы к теме другого) от того, что не знаю структуры, нормальной статьи, легче скинуть в комментарии кому-то эффекта больше, да и с человеком поговорить можно.

Спросить не у кого, то что читаю под формулировку статьи не тянет, если нравиться, как открыт код, не понимаю логики текста.
Если все нравится — реклама.

О (Давно, в 2009-10) говорил — тогда спросить можно было.

Сейчас отвечают — публикуй, посмотрим.

А если видишь — рано.
Вот проблема, хоть на интуито подобные курсы иди.
Решение открытое, но ресурс не просил давать заключений о коде и работе сотрудника.
А в сравнении мое решение не нуждалось.
Но встретив что-то подобное здесь, прикрепил бы к теме другого автора без сожаления(уже так делал), я и писал вторую статью потому что год прошел, а я ни чего не предложил.

Давно, в 2009-10, находил интересный материал, по ссылке в GitHub искал автора и общался.
Сейчас внутри отвечают через раз.

Решил написать статью, и сразу опубликовал, зная, что просчитав соотношение откажусь от публикации.

Отвечать быстрей не могу.
Да понимал чего ждать от темы, не смог отредактировать — для пробы сменил топик статья сохранилась, не предполагал, что этим могу навредить, я уже извинился.

Первую статью максимально поправил, прокомментировал исходник, добавил JSDoc. Спросил у комментаторов, ответили — нормально.

Во второй статье, сделал все, что и в пред идущей.
По второй кроме замечания —
Хм. Таблицы рядов существуют и известны. Не проще было брать значение из таблицы?


По поводу кода, один известный сайт, считает номиналы сопротивлений для светодиодов, подгонкой к первой десятичной степени значения и поиском ближайшего в массиве, раннее сохраненного рада E24.
Написал бы ссылку, но это не этично. Или вы думаете, что я мог предложить плагиат… ;)

Совершенство системы оценок не обсуждаю, отвечаю на ваши вопросы, как аргументацию моих слов.

На случай если менять нечего, попытался — бы что-то улучшить.


Возможно вам интересно, почему я был готов к минусам, чего ждать от темы о ресурсе, а как его понять.
Но не ожидал, что могу потерять так много.
Я не самоубийца, но назад, уже поздно было.
Подробно описано ниже.
Одна ошибка — одна оценка.
Согласен с комментарием ошибки оцени его — «комментарий».
Хочешь расширить описание, допиши, оценят дополнение и человеку понятней.
А агрессия как усиление влияния, если не исправится, но не во всех случаях.

Насчет огульного разбрасывания камней(минусов), давно один ТяТька говорил, бросайте в меня ;), хотя о таких не шутят.

Представь соискателя, одиночка (любая стая, своих не отдаст), вступиться некому, а пинают из солидарности, нет чтоб-бы объяснить, может исправится или извинится.
Много у него энтузиазма останется, хорошо, я представлял, что делал и чего ждать.

Когда карму подлечу, перепишу статью, а пока пусть так лежит, как пример другим.

P.S. Когда статью снимут с голосования, отредактировать не могу — кармы мало, а комментарии время забирают, рядом сидеть приходится.
Почему, об этом и писал.
Понравился отзыв, присоединюсь.
Нет — отвечу и оценю его, а математика пусть сама взвешивает, как и что.

Если кто-то красиво аргументирует свое мнение, мой плюс, это ему плюс и мой
голос на статью может учитываться опосредовано, кто раньше встал того и
тапки.
Найду еще ошибку напишу свой отзыв — за свой труд как корректора получу
рейтинг и буду ждать отзывов.

В жизни не станут кричать, опечатка, ошибка, орфография, по моему это не этично,
можно сообщить в личку

И даже в коде, можно отличить описку от заблуждения.
Но этого тоже мало, чтоб оценить работника, я например, не вижу только свои ошибки, а в чужих…
Оценивать нужно желание и стремление, соответствовать правилам и требованиям которые уже оговорены.

Говоришь делать одно — получаешь другое, а потом грузи его.

В нашем мире не обязательно ставить «бан» предупредил, подожди.
Позже зашел, а ему начхать тогда и грузи.

Бывает принес больше чем просил, но не доделал, дополнительного — не накажешь.
Бери что есть или жди пока код перепишет.

P.S. А разве сейчас приветствуются два замечания на одну ошибку?
Возможно неточно выразился, про отображение оценок не говорил, агрегация и аргументация — да.
Одна оценка за ошибку избавит от троллинга, оцениваемый увидит солидарность мнений. Комментарии «тематические» останутся, «оценивающие» соберет агрегация — два раза об ошибке не напишут, а для плюсов оценивающего, комментарии не нужны и на оценку это не влияет, минусы к нему, снимут его минусы, которые кто-то тоже пояснит.

И вообще — я не предлагал чего либо менять, я аргументировал свои слова, что можно и нужно что-то делать.
И дело администрации как и зачем менять свой ресурс, нам разрешили тусоваться, за заслуги толкают в топах, и не стоит стонать.

Статью писал, «хабро жителям», надоели стоны: «умрет», «когда умрет» и так далее.
Извиняюсь, если прочитал кто-то еще. Ошибка, опыта.

Хотелось сказать — делайте что-нибудь, берите на себя обязанности. Бережно, ответственно относитесь к ресурсу и друг другу, цените стремление, старание и инициативу, делитесь опытом, предлагайте наконец, что нибудь.

Что в целях и задачах это написано, а что получилось…
Время затраченное на отзыв должно быть компенсировано весом полученного рейтинга.
Отрицательный отзыв в свою очередь кто-то оценит.
Если положительно — это второй минус статье или комментарию.
Если отрицательно (ошибка в оценке) — это плюс статье или комментарию.
И так далее.
C точки зрения usabiliti, пиши сам или поддержи другого.

P.S. А минус в карму, за комментарий, это «троллинг» или нет?
Оценивать комментарий могут ответившие, статьи — прокомментировавшие, это повысит качество оценки.

Комментарий «статья не понравилась» или «комментарий обидел» может изменить рейтинг оценивающего и уравняет их права.
Возможно необходимы исключения.

P.S. «статья», не девушка нравиться не обязана, обида плохой показатель объективности. Необходимо указывать высказывание, нарушающее правила ресурса, этические нормы, правдивость и т.д
Спасибо, стало понятней.

Я говорил о прочтении и собственном субъективный взгляде.
… читаю как,…


Исправить ошибки, перефразировать не могу, статья в профильном хабе

Information

Rating
Does not participate
Registered
Activity