Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.06.2013, 14:39
Кандидат Javascript-наук
Отправить личное сообщение для riva Посмотреть профиль Найти все сообщения от riva
 
Регистрация: 24.06.2013
Сообщений: 115

обращение из html к методам в файле.js
Подскажите, как сделать ,чтобы из html передать и и получить возвращаемое значение ,в файл.js ?
function myswf()
{
    function calc( a ,b )
    {
        console.log( "nnn" )
        return a + b ;
    }
}

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" path="myswf.js"></script>
    <script>
    /*что нужно написать здесь ,чтобы передать и получить значение
     *из метода calc? 
     */
    </script>
</head>
<body>

</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 25.06.2013, 14:44
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

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


то что нужно написать
console.log(myswf(4, 5))
Ответить с цитированием
  #3 (permalink)  
Старый 25.06.2013, 14:49
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от riva
script type="text/javascript" path="myswf.js"></script>
атрибут должен быть не path, а src )
Ответить с цитированием
  #4 (permalink)  
Старый 25.06.2013, 14:54
Кандидат Javascript-наук
Отправить личное сообщение для riva Посмотреть профиль Найти все сообщения от riva
 
Регистрация: 24.06.2013
Сообщений: 115

сделал так
myswf.js
function myswf( a , b )
{
    function calc( a , b )
    {
        console.log( "calc" )
        return a + b ;
    }
    return calc( a , b )
}

html
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" path="myswf.js"></script>
    <script>
          console.log( myswf( 2 ,4 ) )
    </script>
</head>
<body>

</body>
</html>

ошибка :
Цитата:
Uncaught ReferenceError: myswf is not defined
Ответить с цитированием
  #5 (permalink)  
Старый 25.06.2013, 14:59
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script type="text/javascript" path="myswf.js"></script>
Цитата:
<script type="text/javascript" src="myswf.js"></script>
Ответить с цитированием
  #6 (permalink)  
Старый 25.06.2013, 15:01
Кандидат Javascript-наук
Отправить личное сообщение для riva Посмотреть профиль Найти все сообщения от riva
 
Регистрация: 24.06.2013
Сообщений: 115

Спасибо Вам! И у меня ещё вопрос - в js передавать параметры нужно через конструктор? В нем нет static function? Чтобы минуя myswf сразу к calc обратится?
Ответить с цитированием
  #7 (permalink)  
Старый 25.06.2013, 15:05
Кандидат Javascript-наук
Отправить личное сообщение для riva Посмотреть профиль Найти все сообщения от riva
 
Регистрация: 24.06.2013
Сообщений: 115

И это я тоже понял. Получается ,что метод calc вложенный в конструктор...Просто по началу подумал ,что myswf это обьявление класса ,а тут получается ,что конструктора.
Ответить с цитированием
  #8 (permalink)  
Старый 25.06.2013, 16:00
Кандидат Javascript-наук
Отправить личное сообщение для riva Посмотреть профиль Найти все сообщения от riva
 
Регистрация: 24.06.2013
Сообщений: 115

Немножко я поспешил. При использовании swfobject в файл.html
передают параметры через конструктор в функцию
swfobject.embedSWF(..param) ;

Сам swfobject выглядит как то так -
var swfobject=function(){
/*...тело 
*и где то тут */
embedSWF:function(...param)
{
/*тело*/
}

я пытаюсь сделать тоже самое .то есть через конструктор передать параметры его методу, но не получается. Почему?
function myswf()
{
    next : function( a ,b )
    {
        console.log( a + b ) ;
    }
}

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" src="myswf.js"></script>
    <script>
        var a = 1 ;
        var b = 2 ;
        myswf.next( a ,b )
    </script>
</head>
<body>

</body>
</html>

и даже так пробовал
var myswf = function ()
{
    next : function( a ,b )
    {
        console.log( a + b ) ;
    }
}
Ответить с цитированием
  #9 (permalink)  
Старый 25.06.2013, 16:50
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

<script>
//класс
function Obj()
	{
	return {
		method: function(a, b)
			{
			return a + b;
			}
		};
	}

//объявляем экземпляр класса
var obj = Obj();
//обращаемся к методу класса и результат сохраняем в переменную
var result = obj.method(1, 4);
console.log(result);
</script>
Ответить с цитированием
  #10 (permalink)  
Старый 25.06.2013, 17:09
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

skrudjmakdak для этого существуют прототипы:
//класс
function Obj()
{
    //
}
Obj.prototype.method = function(a, b)
{
    return a + b;
};
//объявляем экземпляр класса
var obj = new Obj();
//обращаемся к методу класса и результат сохраняем в переменную
var result = obj.method(1, 4);
console.log(result);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как с помощью javascript взять данные из одного файла html и закинуть в другой? rusik Общие вопросы Javascript 10 08.08.2016 12:11
Типографика и HTML код Manjuriano (X)HTML/CSS 3 23.11.2011 12:22
Создание HTML страниц Sportlife89 (X)HTML/CSS 7 03.06.2011 15:04
Передача кода HTML Владимир Седов Общие вопросы Javascript 2 12.04.2011 16:48
Динамические html элементы sky Элементы интерфейса 2 07.03.2010 11:58