Функции Javascript, не работающие в Chrome - PullRequest
1 голос
/ 19 января 2012

По какой-то причине функции javascript сейчас не работают.

function alert(){
alert('Close')
}

Когда я запускаю оповещение, используя:

<span onclick="alert()">Hi</span>

Я получаю следующую ошибку:

Uncaught RangeError: Превышен максимальный размер стека вызовов

Что может быть не так?Что-то не так с jQuery?

Пример (ошибки): http://jsfiddle.net/qNjjN/show

Ответы [ 3 ]

6 голосов
/ 19 января 2012

Вы переопределили функцию по умолчанию alert() своей собственной! Поэтому, когда вы вызываете alert() внутри метода, он выполняет бесконечный рекурсивный вызов.

Переименуйте ваш метод во что-то другое, и все будет хорошо :)

2 голосов
/ 19 января 2012

Проблема здесь в том, что существует встроенная функция javascript с именем alert, и вы по существу переопределяете ее с помощью функции alert.

Когда вы вызываете свою функцию, ваша функция вызывает себя снова и снова,Это называется рекурсией и в вашем случае приводит к вашей ошибке.

0 голосов
/ 19 января 2012

У вас есть бесконечный цикл, вызывая оповещение от самого себя. Это было бы хорошо, как рекурсивная функция, но в настоящее время нет логики, чтобы закончить себя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...