Относительно неортодоксальности функции JavaScript

Как говорили другие, вы должны изменить:

x = Symmetrie(square_matrix[4][4]);

на это:

x = Symmetrie(square_matrix);

Но я хотел бы добавить и сказать, что вы могли бы Вы нашли это очень легко самостоятельно, просто добавив мелкий шрифт.

Простое printf("%d =?= %d", matrix[i][j], matrix[j][i]) прямо над if показало бы вам, что все цифры - бред.

Или , как предложила @DanielH, некоторые компиляторы рассматривают это как предупреждение, и вы не должны их игнорировать. Для других компиляторов добавление -Wall в качестве флага компиляции также помогло бы вам это уловить.

5
задан Hexagon Theory 26 January 2009 в 20:22
поделиться

3 ответа

То, что Вы в основном спрашиваете, - То, как я могу использовать функции в качестве первоклассных объектов?

Самое большое и наиболее распространенное использование является закрытиями (или анонимные функции) для обработки событий. Однако просто, потому что можно быть умными, это не означает, что Вы должны. Напишите четкий, читаемый код, как Вы были бы на любом другом языке.

О, и порите себя для ввода оценки и никогда не думайте о выполнении его снова

5
ответ дан 14 December 2019 в 04:49
поделиться

Первый, закрытия, очень распространен в JavaScript. Если Вы хотите еще некоторые усовершенствованные примеры, вот хорошая интерактивная детская площадка, с которой можно смешать: http://ejohn.org/apps/learn/.

Вот мой window.onload функционируйте я использую, когда независимо от того, что я продолжаю работать, не требует полноценной библиотеки.

//add events to occur on page load
window.addOnload = function(fn) {
    if (window.onload) {
        var old = window.onload;
        window.onload = function() {
            old();
            fn();
        }
    } else {
        window.onload = fn;
    }
}

Затем каждый раз, когда мне нужно что-то для случая onload, я могу просто использовать анонимную функцию. Вот пример из недавнего моего проекта обслуживания.

//make all menu items have a hover property
window.addOnload(function(){
    var cells = document.getElementsByTagName('td');

    for (var i=0; i < cells.length; i++) {
        if (cells[i].className != 'NavMenuItem')        continue;

        (function(cell){
            cell.onmouseover = function() {
                cell.className = 'NavMenuItemHighlight';
            }
            cell.onmouseout = function() {
                cell.className = 'NavMenuItem';
            }
        })(cells[i])
    }
});

Что касается Вашего второго 'исследования', просто притворитесь, что Вы никогда не узнавали об этом.

3
ответ дан 14 December 2019 в 04:49
поделиться

Ну, первый обычно - как Вы доказываете, что Проблема остановки неразрешима...

Полагаете ли Вы, что это "полезное" полностью ваше дело, я предполагаю B-)

0
ответ дан 14 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: