Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   webstorm - отладка - оброботка ошибок (https://javascript.ru/forum/misc/39307-webstorm-otladka-obrobotka-oshibok.html)

riva 24.06.2013 23:53

webstorm - отладка - оброботка ошибок
 
Только начинаю постигать силу js ,но сразу ступор - нет обычной просто отладки...ну или я чего то не понимаю. Скачал webstorm но за день так и не приблизился к ответу - Как смотреть выполнения кода!
Делаю простой тест, создаю метод возвращающий значение -
function calc( a , b ) 
{
return a + b ;
}

как мне узнать ,что он выполнился и получить значение? неужели нет аналога trace() ?)
В теме "часто задаваемых вопросов" прочел про комодо - он умеет делать то что мне надо? Или если в js редакторах вообще нет такой возможности ,то как мне console.log вызывать?
Спасибо!

nerv_ 25.06.2013 00:45

function calc( a , b ) {
    return a + b ;
}

alert( calc( 2, 3 ) );

Цитата:

Сообщение от riva
как мне узнать ,что он выполнился и получить значение?

чтобы выполнить код, вам нужен интерпретатор js. Запускайте код в браузере, либо на сервере.

riva 25.06.2013 01:39

nerv_ Спасибо Вам за помощь! Но могли бы Вы раскрыть тему более детально? Как я понял, интерпретатор - это что то вроде сервера, передавая которому файл, получаешь результат? Тогда ,какой лучше ?
И в самой программе есть ,что то вроде панелей - debug ,console ..
я правильно понимаю ,что еслибы у меня был этот интерпретатор и я указал к нему путь в дебаг конфиге ,то в эти панели возвращалось бы ..то что мне нужно?
Спасибо!

zebra 25.06.2013 01:49

в хроме/opere/ie f12. Для фф скачайте firebug. На счет вебсторма не знаю, есть ли отладчик.

riva 25.06.2013 02:40

Цитата:

На счет вебсторма не знаю, есть ли отладчик.
просто для уточнения - а где нибудь есть?

skrudjmakdak 25.06.2013 08:41

console.log() вызывается прям в js коде!
вот самый простейший пример:
<!DOCTYPE html>
<html>
	<head>
		<script type="text/javascript">
function sum(a, b)
	{
	return a + b;
	}
	
var p = sum(1, 3);
console.log(p);
console.log(sum(5, -2));
		</script>

	</head>
	<body>
	</body>
</html>


1. откройте обычный обокнот, а лучше нотепад (можно скачать, погуглив)
2. копируйте туда это чудо, что я вам написал
3. сверху слева нажиамйте файл->сохранить как
4. пишите имя файла. и его расширение (html), например, index.html
5. открывайте этот файл любым бразером (опера, хром, фаерфокс). мне лично хром нравится.
6. открывайте фаербаг. в хроме (f12), в фаерфоксе устанавливать надо, если у вас не установлен (нусжно скачать, найти можно в нете, погуглив)
7. открывайте вкладку консоль и туда будут сыпаться все ошибки или сообщения..
в данном примере должно вывалиться:

4 index.html:11
3 index.html:12

где:
4 - это то ответ;
index.html - имя файла, где произошел вызов console.log
11 - номер строчки, где произошел вызов

riva 25.06.2013 13:43

Всем Большое Спасибо! Как только попробовал запустить в хроме , сразу вылезла ошибка ,что надо плагин ws для него скачать. Скачал и дебажная панель и консоль в самой программе заработала. Аллилуия!)

riva 25.06.2013 14:00

А подскажите ,как в отладке, обращатся к внешним файлам js?
Есть файл myswf.js
function myswf()
{
    function calc( a ,b )
    {
        return a + b ;
    }
}

в html пишу и получаю ошибку.
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" path="myswf.js"></script>
    <script>
        console.log( myswf.calc( 5 ,5 ) )
    </script>
</head>
<body>

</body>
</html>

Пробовал делать метод calc статик..и в общем ,я не знаю как такое сделать. Подскажите пожалуйста!

рони 25.06.2013 14:36

а где метод
Цитата:

Сообщение от riva
myswf.calc

в вашем коде?
и прочтите Почему не запускается функция?

рони 25.06.2013 14:39

riva,
вариант...
function myswf()
{

}
myswf.calc = function( a ,b )
    {
        return a + b ;
    }
        console.log( myswf.calc( 5 ,5 ) )

function myswf()
{
     this.calc = function( a ,b )
    {
        return a + b ;
    }
}

      var a =  new myswf

        console.log( a.calc( 5 ,5 ) )


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