主体中未识别头部中的Javascript函数

主体中未识别头部中的Javascript函数,javascript,Javascript,为什么这个代码不起作用 <!DOCTYPE html> <html lang="es"> <head> <title>Euroqpa</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="type=text/javascript"> <!-- functi

为什么这个代码不起作用

<!DOCTYPE html>
<html lang="es">
 <head>
  <title>Euroqpa</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <script type="type=text/javascript">
   <!--
    function drawcanvas() {
     var c=document.getElementById("myCanvas");
     var ctx=c.getContext("2d");
     ctx.fillStyle="#FF0000";
     ctx.fillRect(0,0,150,75);
    }
   //-->
  </script>
 </head>
 <body>
 <canvas id="myCanvas" width="300" height="300"></canvas>
 <script type="text/javascript">
 <!--
  drawcanvas();
 //-->
 </script>
 </body>
</html>

Euroqpa
我认为头部定义的功能应该被身体中的脚本识别。不是吗


它说:未捕获引用错误:drawcanvas未定义,乍一看,头脚本上的
类型
属性是错误的

替换

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


浏览器忽略具有无法识别的
类型
属性的
脚本
元素(这是通过内联模板利用的)


只需同时删除
类型
属性,这不是必需的。

这可能是因为函数后面有


这些是HTML而不是javascript的注释,会导致错误

您已经注释掉了吗???检查我制作的JSFIDLE,它可以@KyleMuir:Nope工作,这在
脚本
标记中是完全正常的(如果有点过时)。@T.J.Crowder哇,疯狂。我以前从未见过这种情况。而且,在我看来,
现在是不必要的。或者更好的是,不要指定它,因为JavaScript是(并且一直是)默认的
类型。而且,
现在是不必要的,我的错。正是这样:(见上面TJ Crowder的评论(见下面的OP)。(那个人知道他在说什么。)这实际上是一个很好的实践,为了防止脚本代码溢出到不理解
的浏览器的页面中。现在它可能没有用了。
<script type="text/javascript">