几对script也可以运行一个网页吗

初学JS
为什么几行script也可以出来一个网页,不得把html head title boby都写全了才是一个网页吗,我迷茫了
一个网页可以出现多个script吗,我一直以为只有一个

img

img

img

html由各种标签组成,html head title boby这些标签都是html组成部分,它们可以在网页上生成对应的dom所以你才能看见网页上的东西,如果你的html是完全空白的,会生成默认的空网页(只有html、header、body三个空标签)

img

建议找地方了解一下dom和bom的基础,style标签承载css,script标签承载js,这两个都是可以分割开单独写成文件引入的,css先不说,js作用很大的可以控制dom也可以控制bom,而且不仅可以控制dom同时可以有方法生成dom在页面上。

而你这里写的document.write就是一种可以生成dom内容的方法,可以加进body空白标签,可以识别你写的字符串中的标签。

img

img

像比较流行的vue、react这类框架,其实写的最多的还是js,因为它们有个特点就是虚拟dom,用js去封装生成真正的dom。

哎呦 ,我觉得这几个问题挺有意思的

  • 为什么几行script也可以出来一个网页,不得把html head title boby都写全了才是一个网页吗

img


我写了下是可以的,为什么可以呢,原因是因为现代的浏览器会自动给你补全代码

W3C组织推荐说,写上这些标签是很有必要的。现在web页面上很少有这方面的实践,但是写上这些标签还是很有必要的。
尽管HTML5中html标签head标签body标签是被允许省略的,省略过后浏览器在解析这些代码的时候会自动帮我们加上这些隐藏的标签元素。但是这也是写上这些标签元素的根本原因,即浏览器总是在试图创建与现有网页一致的文档结构,而且这些标签元素在很早的HTML版本中是没有被定义的,这些html标签head标签body标签是在HTML2.0时创建的,因此,当这些标签被省略或者忘记写的时候,浏览器总是要去推断这些标签的存在,以及推断这些标签怎么存在。

在一些低版本的浏览器里面如果你不写的话则会报错,而高版本的浏览器则会帮我们补全这些缺失的信息

  • 一个网页可以出现多个script吗
    是的可以出现,但是这会为什么script可以允许多个(我也不知道哈哈哈)

兄弟,估计是没理解到位;

html是展示的,没错;

script是操作的,也没错;;

但是,只有script的时候,是可以操作html的,比如可以生成html,这样不就可以了吗?

多此一举,直接写alert(123)就可以了,为什么要写这么复杂?