Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 13.03.2012
Сообщений: 10
1

Незнакомый синтаксис args = [this, args[0]]

10.06.2013, 19:49. Показов 961. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я только начал изучать Javascript. Пытаюсь на примере NicEdit улучшить свои знания.
В коде встретил запись
Javascript
1
args = [this, args[0]];
Я понимаю что происходит присвоение , но не могу разобраться чего.

Вся функция:
Javascript
1
2
3
4
5
6
7
8
9
10
var bkExtend = function() {
    var args = arguments;
    if (args.length === 1){
        args = [this, args[0]];
    }
    for (var prop in args[1]){
        args[0][prop] = args[1][prop];
    }
    return args[0];
};
Добавлено через 38 минут
Я так понимаю создается массив. Туплю
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2013, 19:49
Ответы с готовыми решениями:

Как мне использовать эту программу, и что означает args[0] и args[1] в 11 и 20 строках?
Как мне использовать эту программу, и что означает args и args в 11 и 20 строках?using System;...

Какого типа args main(string[] args)?
Привет всем :) Я лабы сдавал по С# и вроде бы все выучил, но преподаватель спросил, "main(string...

Request_uri без args
Приветствую Строю такую конструкцию: location ~* { if ($args ~ *) { add_header...

Переменная $args в PHP
Пожалуйста, помогите со следующей проблемой. После того как провайдер обновил версию PHP до...

2
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
10.06.2013, 20:26 2
не бойтесь рассуждать самостоятельно
и проверять самостоятельно тоже не бойтесь

у вас же есть браузер и какой-то HTML-редактор, так?
вызовите эту функцию и, где вам нужно узнать что-то про значения, пропишите alert ()
----------

функции при вызове могут передать либо один, либо два аргумента (других вариантов не предусмотрено)
т.е. вызывают её так:
Javascript
1
2
либо var perem = bkExtend (X);
либо var perem = bkExtend (X, Y);
судя по второй части кода (строки #6-8) функции при вызове передаётся объект (или два объекта),
ибо они имеют какие-то свойства

так вот, если передаётся один объект X, то его делают вторым в массиве, а первым назначают this - текущее окно window

в строках #6-8 свойства второго объекта Y назначаются первому объекту X (если их передали два)
а если передали один X, то свойства этого объекта передаются текущему окну

соответственно функция возвращает
-- либо первый из посланных ей объектов, но с добавленными новыми свойствами из второго объекта
-- либо текущее окно, у которого тоже появились какие-то новые свойства

пример для одного аргумента:
Javascript
1
2
3
4
5
6
7
var X = new Object ();
X.myProp = 'привет';
var perem = bkExtend (X);
 
alert (perem.myProp);
//или alert (window.myProp);
//или даже alert (myProp); ибо свойства window можно вызывать без указания объекта
0
0 / 0 / 0
Регистрация: 13.03.2012
Сообщений: 10
10.06.2013, 22:46  [ТС] 3
Спасибо, теперь стало понятнее. Буду разбираться дальше.
0
10.06.2013, 22:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2013, 22:46
Помогаю со студенческими работами здесь

string[] args и return
static void Main(string args) зачем здесь string args? и как правильно использовать return для...

От Scanner'a до String[] args
Две заведенные мной темы привели к двум результатам: 1) Мне сказали, что то, что я хочу,...

Args и один экземпляр
Делаю аудио плеер. И столкнулся с такой ситуацией: 1. Нужно открывать файл программой просто...

Головная боль по имени args
Позвольте "чайнику" поинтересоваться... Во всех книгах по Java которые смог найти включая "для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru