2016-09-19 7 views
-3

В первом примере на this page Магистральный документ, объект messages использует метод each. Какой рамочный метод each используется здесь: underscore.js, backbone.js, или jquery?Источник этого «каждого» метода?

var MessageList = Backbone.View.extend({ 

    initialize: function() { 
    var messages = this.collection; 
    messages.on("reset", this.render, this); 
    messages.on("add", this.addMessage, this); 
    messages.on("remove", this.removeMessage, this); 

    messsages.each(this.addMessage, this); 
    } 

}); 

In My Opinion

1.it не может быть подчеркивание метод, поскольку его используют синтаксис _

2.it не может быть JQuery метод, поскольку его используют синтаксис $

3. он не может быть основным методом, поскольку он использует метод подчеркивания

+1

Является ли это вопрос, или вы за несчастный случай попал в «Задать вопрос», чтобы ответить на вопрос? – LinkinTED

+0

Я задаю вопрос – Mahi

+1

О, хорошо, пожалуйста, объясните немного больше, потому что это не имеет смысла. – LinkinTED

ответ

0

«Магистральные прокси-серверы для Underscore.js, чтобы обеспечить 46 итерационных функций на Backbone.Collection. Они не все документированы здесь, но вы можете взять взглянуть на документации Underscore для получения полной информации ...»

http://backbonejs.org/

+0

так этот метод подчеркивания? если бы это было тогда, мы должны использовать _.это как это. но здесь символ подчеркивания – Mahi

+0

Символ подчеркивания отсутствует, потому что метод _proxied_ соответствует тому, что указано в документации. Кажется, что Backbone, похоже, использует синтаксис OOP, поэтому все намерения и предназначенные '_ (сообщения) .each' и' messsages.each' должны считаться равными. – vlaz

1

Если вы проверяете магистральные документации вы увидите, что есть один из них - метод each, приведенный ниже под номером . Подчеркивающие методы (46), а в подчеркивании documentation явно указано, что каждый метод на самом деле является псевдонимом метода Javascript forEach.И что это такое делает?

подчеркивание Описание: «Это перебирает список элементов, получая каждая в свою очередь, к функции iteratee»

MDN Описание: «Foreach() выполняет функцию обратного вызова один раз для каждого элемента, присутствующего в массиве, в порядке возрастания. Это не вызывается для свойства индекса, которые были удалены или являются инициализируются (т.е. на разреженных массивах).»


Чтобы ответить на ваш вопрос, почему это не знак подчеркивания перед методом each, используемого в основной цепи зависит на этом небольшом участке от Подчеркивание source код:

var _ = function(obj) { 
    if (obj instanceof _) return obj; 
    if (!(this instanceof _)) return new _(obj); 
    this._wrapped = obj; 
}; 

Что делает эта функция, является экземпляр нового объекта со знаком подчеркивания, если уже не экземпляр другой Если уже есть объект с _ вздохнув тогда. он просто возвращает его.

+0

, если это был метод подчеркивания, тогда было бы message_.each – Mahi

+0

, но нет знака подчеркивания – Mahi

+0

, но он вызывает ошибку, если я использую message_.each – Mahi

Смежные вопросы