从今天开始我们就要正式学习JavaScript的语法啦,首先我们得知道,JavaScript跟HTML是好兄弟~
插个题外话,一开始开发人员为了将JavaScript插入HTML可是下了不少功夫,最早是在Netscape Navigator 2中实现的,然后就被正式加入到HTML规范里面去了,接下来我们好好讲解一下这一元素
身世揭秘async :说实话作者第一次看到这个也是很蒙圈,后来通过查阅官方文档得到了答案:这一属性表明立即开始下载脚本,但是不能阻止其他页面的动作,比如下载资源,只针对外部脚本文件有效(感觉没啥用)charset:这个属性可就有意思了,相信学过MySQL、Java的同学对这一属性并不陌生,charset这个单词跟字符集挂钩,因此这个属性是可选的,我们可以使用src(下文会介绍)属性指定的代码字符集crossorgin:这玩意咱一般用不到,知道它是用于配置相关请求的CORS(跨源资源共享)设置就行啦defer:这一属性表示脚本可以延迟到文档完全被解析和显示之后在执行,同样只对外部脚本文件有效(跟async一伙的,但是咱写代码不怎么用的到)integrity:又是个用不到的玩意,说白了跟加密签名有关,平时咱也接触不到…language:这个看起来耳熟能详,实际上已经被浏览器弃用了(真可怜),大多数浏览器都会忽略这个属性,不再使用它src:表示要导入的外部外码文件,这个比较好理解,毕竟咱学过HTMLtype:这个属性可以代替language,表示代码块中脚本语言的内容类型,按照惯例,我们都是默认text/JavaScript,虽然它已经废弃了,但是我们的JavaScript文件的MIME类型通常是application/x-JavaScript,但是如果这个值是module,则会被当成ES6模块,只有在这种情况下,我们才能使用import跟export关键字(读者看不懂这段话也没关系,记住有type这个属性值就可以咯)使用有两种方式:
① 通过它直接在网页中内嵌JavaScript代码
② 导入外部JavaScript文件
通过上面的代码我们可以直观的看到一个JavaScript语言的执行,解释器首先会寻找,找到之后开始由上往下执行里面的代码。在代码块中我们定义了一个函数(后续会学)用于输出Hello World,值得一提的是,在元素中的代码被计算完成之前,页面的其余内容不会被加载,也不会被显示
>")
}
当我们尝试着在里面写入时候,系统会自动识别当成结束的,想要避免这个问题,我们加入``就可以了
")
}
加上之后变成上图这样就可以啦~
我们可以通过src引入外部文件,这个属性的值是URL,指向包含JavaScript代码的文件
上方代码加载了一个叫demo.js的外部文件,文件本身只需要包含要放在的起始及结束标签中间的JavaScript代码,在解释外部JavaScript文件时,页面会阻塞。在XHTML文档中,可以忽略结束标签
如果咱使用了src属性的元素,不应该再在和标签中再包含其它JavaScript代码,如果两者都提供的话,浏览器只会下载并执行脚本文件,从而忽略行内代码
作者认为元素一个很强大的地方就是它可以包含来自外部域的JavaScript文件,可以是一个完整的URL,而且这个URL指向的资源可以跟包含它的HTML页面不在同一个域中