+ Ответить в теме
Показано с 1 по 2 из 2

Тема: вопрос по call - apply

  1. #1
    Новичок cximnik81 на пути к лучшему Аватар для cximnik81
    Регистрация
    09.06.2019
    Сообщений
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    вопрос по call - apply

    Для использования вызова функции со свойствами через apply или call работает следующий код:
    var user = {
    firstName: "Василий",
    surname: "Петров",
    patronym: "Иванович"
    };

    function showFullName(firstPart, lastPart) {
    alert( this[firstPart] + " " + this[lastPart] );
    }

    // f.call(контекст, аргумент1, аргумент2, ...)
    showFullName.call(user, 'firstName', 'surname') // "Василий Петров"
    showFullName.call(user, 'firstName', 'patronym') // "Василий Иванович"
    Вопрос такой: почему с this используются квадратные скобки со свойствами без кавычек, тогда как в js для обращения к свойству name объекта obj используется либо obj.name либо obj["name"]?

  2. #2
    Местный Degradator скоро придёт к известности Аватар для Degradator
    Регистрация
    02.07.2012
    Сообщений
    2,049
    Thanks
    141
    Thanked 152 Times in 152 Posts
    Это основы JS. У тебя есть объект user c полем firstName
    var user = {
    firstName: "Василий"
    };

    Ты можешь обратиться к этому полю следующим образом:
    alert(user.firstName);

    И также ты можешь обратиться к этому полю вот так:
    alert(user['firstName']);

    Отсюда следует, что к этому полю можно обратиться через переменную:

    var fieldName = "firstName";
    alert(user[fieldName]);

+ Ответить в теме

Похожие темы

  1. Работа в call-центре
    от Калегина Ольга Игоревна в разделе Поиск работы
    Ответов: 0
    Последнее сообщение: 13.05.2013, 14:36
  2. Fatal error: Call to undefined...
    от gambrinus в разделе PHP
    Ответов: 6
    Последнее сообщение: 11.05.2010, 08:41
  3. Call to undefined function check()
    от Lotus в разделе PHP
    Ответов: 10
    Последнее сообщение: 22.04.2010, 14:21
  4. Fatal error: Call to undefined function mysql_connect()
    от DigitalBrain в разделе Веб-сервер
    Ответов: 1
    Последнее сообщение: 01.03.2009, 16:50
  5. Ответов: 9
    Последнее сообщение: 25.02.2009, 15:56

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения