Не могу сослаться на файл js в html

0

Я полностью новичок в JavaScript. Я хочу ссылаться на js.function в HTML. Следующий мой код. Когда я запускаю его, я получаю сообщение об ошибке:

jisuan не определено

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<script language = "javascript",src ="myfuns.js"></script>
<script language = "javascript",type="text/javascript">
    var num1 = window.prompt("please input the first num");
    var num2 = window.prompt("please input the second num");
    var operator = window.prompt("please input an operator");
    num1= parseFloat(num1);
    num2= parseFloat(num2);
    document.writeln("the result is" + jisuan(num1,num2,operator));
</script>
</head>
<body>
</body>
</html>


function jisuan(num1,num2,operator)
{
    var res = 0;
    if(operator =='+')
    {
        res = num1 + num2;
    }else if(operator =='-')
    {
        res = num1 - num2;
    }else if(operator =='*')
    {
        res = num1*num2;
    }else if(operator =='/')
    {
        res = num1/num2;
    }
    return res;
}
  • 0
    Переместите объявление функции в тег script в заголовке или заключите текущее объявление в тег script .
  • 1
    Предполагая, что jisuan определен в myfuns.js , я бы проверил 1. в какой папке находится html файл (находится ли он в той же папке, что и myfuns.js ? 2. Я бы кое-что использовал console.log() в myfuns.js чтобы определить если этот файл действительно загружается и читается.
Показать ещё 1 комментарий
Теги:

3 ответа

-1
Лучший ответ

использовать это

<script language = "javascript" type="text/javascript">

так что без "," не это:

<script language = "javascript",type="text/javascript">

Итак, это

 <script language = "javascript",src ="myfuns.js"></script>

также будет следующим:

 <script language = "javascript" src ="myfuns.js"></script>

Установите весь код javascript между:

<script language ="javascript">

а также

</script>

так что это

function jisuan(num1,num2,operator)
{
    var res = 0;
    if(operator =='+')
    {
        res = num1 + num2;
    }else if(operator =='-')
    {
        res = num1 - num2;
    }else if(operator =='*')
    {
        res = num1*num2;
    }else if(operator =='/')
    {
        res = num1/num2;
    }
    return res;
}

было бы это

<script language ="javascript">
function jisuan(num1,num2,operator)
{
    var res = 0;
    if(operator =='+')
    {
        res = num1 + num2;
    }else if(operator =='-')
    {
        res = num1 - num2;
    }else if(operator =='*')
    {
        res = num1*num2;
    }else if(operator =='/')
    {
        res = num1/num2;
    }
    return res;
}
</script>
1

У вас есть многочисленные ошибки, которые можно было бы получить, если вы использовали валидатор разметки.

Конкретная причина вашей проблемы здесь:

<script language = "javascript",src ="myfuns.js"></script>
                               ^

Вы должны иметь один или несколько пробельных символов (например, пробел) между атрибутами, но у вас есть U + FF0C: FULLWIDTH COMMA (). Это приводит к тому, что атрибут src не распознается.

В HTML 5 атрибут language устарел в любом случае, поэтому его нужно удалить. Если вы хотите указать используемый вами язык скриптинга (который вы должны делать, только если вы не используете JavaScript, поскольку он по умолчанию), то (с 1996 года) вы должны использовать атрибут type.

<script src="myfuns.js"></script>

Используйте средство проверки разметки, чтобы найти остальную часть ваших ошибок.

  • 0
    Но даже с запятой, если функция перемещается внутри блока script она работает.
  • 0
    @gabe - Но вопрос в том, как ссылаться на внешний файл JS.
Показать ещё 1 комментарий
0

Вам не хватает места на ="javascript",src и "javascript",type

<script language = "=javascript",src ="myfuns.js"></script>
//-----------there is no space-^    

<script language = "javascript",type="text/javascript">
//-----------there is no space-^    

но должно быть

Как указал Квентин, запятая не должна использоваться.

Обновить

<script language = "javascript" src ="myfuns.js"></script>
<script language = "javascript" type="text/javascript">
  • 2
    Там вообще не должно быть запятых ... или языковых атрибутов.
  • 0
    Обновлено, спасибо за это указанием.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню