Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Задачка на смекалку (https://javascript.ru/forum/misc/11431-zadachka-na-smekalku.html)

subzey 10.11.2010 12:44

Раз уж апнули тему.

/*i/*i/*i/*i//*i*//i*/i*/i*/i

Сложность easy. Каким будет результат работы скрипта и почему?

exec 10.11.2010 14:01

NaN

Комментарии не могут быть вложенными. Тогда:

/* i /* i /* i /* i // * i */ /i*/i * /i*/i


из всего этого будет не комментарием только это:

/i*/i * /i*/i

monolithed 10.11.2010 14:40

Вот тоже нашел на китайском сайте:

javascript:
(0)['constructor']['constructor']('
    var a = parseInt(5*Math.random()), b = parseInt(5*Math.random());
    prompt(a+\' + \'+b+\' = ?\',\'\')==a+b ? alert(\'That\\\'s right!\') : alert(\'That isn\\\'t right...\');
')();

B~Vladi 10.11.2010 14:55

subzey мегомозг :yes:
Ты, случаем, не преподом работкаешь?

subzey 10.11.2010 17:11

B~Vladi,
:D К счастью, нет.

exec 11.11.2010 19:49

ololo(); // Чему равно?
var i = 0;
whilе("i++ < 3")
{
	alert(i); // Выводит последовательно алерты со значениями i
}


Ну как?

B@rmaley.e><e 11.11.2010 20:22

exec, и к чему это? Ваш
while
даже хайлайтеру не понравился.

Яростный Меч 12.08.2013 19:26

Есть массив arr, в котором лежат функция (в нулевом элементе) и несколько других элементов.

arr[0].apply(arr[1], arr.slice(2))
вызовет функцию, подставив arr[1] в this, а прочие элементы в аргументы.

Надо сделать то же самое, но без операций с массивом (таких, например, как [] или slice)

monolithed 15.08.2013 21:20

var array = [function() {
  return 1;
}];

alert(array.pop()());


оно?

Яростный Меч 16.08.2013 12:16

Нет. pop() - это тоже операция над массивом. Нельзя использовать ничего из методов Array, а так же взятие элемента по индексу.

Ну и параметры в функцию у Вас не переданы )

Riim 16.08.2013 12:57

(function() {
    'use strict';
    
    var fn = function() {
            console.log(this);
            console.log(arguments);
        },
        arr = [fn, 1, 2, 3, 4, 5];
    
    Function.prototype.call.apply(
        function() {
            Function.prototype.call.apply(this, arguments);
        },
        arr
    );
})();

Яростный Меч 16.08.2013 14:19

да, правильно.
у меня чуть короче было:
(function() {
    'use strict';
    
    var fn = function() {
            console.log(this);
            console.log(arguments);
        },
        arr = [fn, 1, 2, 3, 4, 5];
    
    Date.call.apply(Date.call, arr);
})();

monolithed 16.08.2013 21:39

Тогда уж:

Function.call.apply(Function.call, arr);


Часовой пояс GMT +3, время: 08:23.