Javascript 在 HTML 中没有脚本标签工作?

Javascript working without script tag in HTML?

我是第一次学习 Javascript,使用 w3resource.com 的在线教程帮助我了解基础知识。

我看到教程中发生了一些我不理解的事情,但我无法知道该教程是否误导了我或者我遗漏了什么。

基本上,这是一个打印日期和时间的小程序。我看到了 HTML 和 JS,这样我就可以看到它是如何工作的。根据我对 JS 的了解,HTML 需要一个 "script" 标记,以便它知道合并 JS。但是我没有看到教程中使用了该标签。这是否意味着该教程在什么是正确的协议方面误导了我,或者是否有某种方式可以在没有 "script" 标记的情况下将 JS 嵌入到 HTML 中?

这是我看到的:

HTML:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript current day and time</title>
</head>
<body>

</body>
</html>

Javascript:

var today = new Date();
var day = today.getDay();
var daylist = ["Sunday","Monday","Tuesday","Wednesday ","Thursday","Friday","Saturday"];
       console.log("Today is : " + daylist[day] + ".");
        var hour = today.getHours();
        var minute = today.getMinutes();
        var second = today.getSeconds();
        var prepand = (hour >= 12)? " PM ":" AM ";
        hour = (hour >= 12)? hour - 12: hour;

if (hour===0 && prepand===' PM ') 
{    
if (minute===0 && second===0)
{  
hour=12;
prepand=' Noon';
}  
else
{  
hour=12;
prepand=' PM';
}  
}  

if (hour===0 && prepand===' AM ') 
{    
if (minute===0 && second===0)
{  
hour=12;
prepand=' Midnight';
}  
else
{  
hour=12;
prepand=' AM';
}  
}  


console.log("Current Time : "+hour + prepand + " : " + minute + " : " + second);

这是我正在使用的教程:http://www.w3resource.com/javascript-exercises/javascript-basic-exercise-1.php

如果有人能向我解释这个 JS 如何在没有标签的情况下嵌入到 HTML 中,我将不胜感激。下周我要亲自测试这个,我会被要求从头开始写代码,所以我不能承受这样的误解。

他们正在使用 JS Bin(将为您插入脚本元素)来托管演示。

这段代码确实有一个奇怪的地方。 link JS 和 HTML 有 3 种方法:

  • 使用脚本标签:

    <script> your script </script>

  • 将 JS 写入另一个文件,然后 link 使用 :

    将其 HTML

    <script type="text/javascript" src="yourFile.js"></script>

  • 将其与类似事件结合起来:

    <div onclick='alert('Hello')'>click here</div>

我只是认为在教程中他们使用类似 JSBin 的东西来 link 文件或将 JS 部分合并到 HTML 中,例如 http://codepen.io/ .

希望对您有所帮助。

你完全正确。 HTML 需要说明什么是脚本,什么是 HTML。脚本可以像这样内嵌在标签中:

<script type="text/javascript">
    var loc = window.location;        
</script>

或没有类型标签

<script>
    var loc = window.location;        
</script>

注意,在大多数情况下,您不需要指定语言,因为默认语言通常是 JS。

此外,您可以使用外部文件(同样,类型通常是可选的,但放在里面也没什么坏处):

<script type="text/javascript" src="/js/myScript.js"></script>

在您引用的教程中,他们跳过了向您展示将 js 放在哪里的步骤。通常这样做是因为他们想让您决定是内联使用还是在单独的文件中使用它。此外,许多像 JS Bin 这样的工具只向您展示不同类型的内容(css、js、html),而没有向您展示它们如何 link 在一起。他们还经常跳过任何框架依赖项的样式标签和脚本标签,因为他们试图为 reader 保持简单。

也就是说,如果保持简单会让用户的生活变得更加艰难,那么教程和演示环境的设计可能出了点小问题...

希望对您有所帮助!