Передача аргумента в метод

Рейтинг: 0Ответов: 1Опубликовано: 04.03.2015

Добрый день!

Есть следующая конструкция:

var FormLogs = (function(f){

    var FormLogs = (function()
    {
        function FormLogs()
        {
            this.fieldName = null;
        }

        return FormLogs;
    })();

    FormLogs.prototype.init = function(fieldName)
    {
        this.fieldName = fieldName;
        this.test();
    };

    FormLogs.prototype.test = function(){
        console.log(this.fieldName)
    };

    return new FormLogs;

})(FormLogs);

jQuery(document).ready(function(){
     FormLogs.init(["1","2","3"]);
});

Результат в консоли (на скрине): http://s017.radikal.ru/i411/1503/59/27bfc90f480c.jpg

Уточните, пожалуйста, почему или откуда берется prototype, если я передаю в метод только значение?

P.S. А если мы передадим в метод обычную строку

FormLogs.init("строка");

то результат будет ожидаемый.

--- строка

P.S.S. Почему-то при передаче объектов/массивов берется этот __proto__.

Ответы

▲ 1

Ну так массив - это объект. У любого объекта есть родитель, через _proto_ видны свойства/методы родителя. Подробнее смотрите здесь