使用Javascript

2021/4/27 12:55:38

本文主要是介绍使用Javascript,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

我们在使用js代码时,是怎么在HTML中使用的呢,下面由小小博主带来一段小路程。


文章目录

  • < script > 元素
    • 延迟脚本
    • 异步脚本
    • 文档模式

< script > 元素

在使用js时,主要就是在HTML中使用此元素。在HTML4.01为此元素定义6个属性。

async:可选。表示应该立即下载脚本,但不应妨碍页面中的其它操作,只对外部脚本文件有效。
charset:可选。表示通过src属性指定的代码的字符集。由于大多数浏览器会忽略它,所以很少有人使用。
defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。IE7>...也支持。
language:已废。
src:可选,表示包含要执行的外部文件。
type:可选。可看成是language的替代品,表示编写代码使用的脚本语言的内容类型(也称为MIME类型)一般是text/javascript,但是可以不写,它就会默认text/javascript,在服务器传javascirpt文件时使用的是application/x-javascript,但是考虑到在type上使用这个的话可能被忽略的可能,而且在非IE浏览器上又不是使用的是这个,所以一般使用text/javascript。

使用方式有两种:外部引入和嵌入式。

1、嵌入式只需指定type属性即可。
		注意:
			(1)js代码是从上至下依次解释。
			(2)不要在任何地方出现"</script>"字符串,因为这样浏览器会认为这是个结束标签,最简单办法是转义,这就是为啥我们写网页的时候要防止XSS攻击的原因。
2、外部引入,指定src和type属性。
		注意:
			(1)我们引入的文件它会放在<script> ....</script>里执行,在解析外部文件时(包含下载该文件),页面的处理也会暂时停止。这就是为啥我们会把css文件放在body前,把js文件放在body后的原因。
			(2)在XHTML文档中可使用<script  ... />这种样式,但是在HTML文档中不能,因为不符合HTML规范,而且得不到全部浏览器的正确解析(尤其IE)。
			(3)外部js文件一般是带有.js扩展名的,但是这个是不必须的,因为浏览器不会检查扩展名,我们可以使用JSP、PHP也是可以的,但是这样就要确保服务器能够返回正确的MIME类型。
			(4)在<script> ...</script>还有嵌入代码,则会被忽略,我们可以理解为当我们引入外部代码时把里面的代码替换掉了。
			(5)<script src="...">可以引入外部域的文件,但是我们必须确保这个外部域是可信的或者你是这个域的所有者,这就是为啥跨域请求中可以用这个来做的原因。
			(6)浏览器会在第一个<script>元素包含代码执行完后再执行第二个<script>,这也是为啥我们会有次序的引入js文件的原因。

延迟脚本

定义defer属性

<script defer="defer"></script>

意思是说告诉浏览器立即下载,但延迟执行。

谈到这可能会想,不是说浏览器会一行一行的执行代码吗,且这个js文件在body的后面,浏览器怎么会知道立即执行呢?
答:这个是因为它有个预编译的阶段,这个阶段会粗滤的扫描代码一篇,在<script>元素上扫描到了defer,它不就知道了吗。或者直接把<script>放在head元素中,这样就更好理解了。
		注意:
			1、HTML5规范要求脚本按照他们出现的先后顺序执行,并先于DOMContentLoaded事件,但是现实中,延迟脚本不一定,也不一定在DOMContentLoaded前执行,因此最好只有一个延迟脚本。
			2、HTML5的实现会忽略defer属性,但是有些浏览器又不会,所以我们在写程序时最好把它放在页面底部。
			3、在XHTML文档中,我们要写成defer="defer"。

异步脚本

与defer属性相似的就是async属性。

使用时注意:
		(1)两个<script>元素引入的文件不要互相依赖,因为加上async后不能确定那个先执行。
		(2)引入的文件不要在加载期间操作DOM,因为async是在不等待页面加载的时候段加载,从而异步加载js。
		(3)异步脚本一定会在页面load事件前执行,可能在DOMContentLoaded前后执行。
		(4)在XHTML文档中,写成async="async"。

文档模式

最初文档模式:混杂模式标准模式

标准模式开启

//4.01
<!doctype html public "-//w3c//dtd html 4.01//en" "http://www.w3.org/tr/html4/strict.dtd">

//1.0
<!doctype html public "-//w3c//dtd xhtml 1.0 strict//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd">

//html5
<!doctype html>

还有一个准标准模式,通过使用过滤型或框架集型文档类型来触发的…
而且准标准模式和标准模式非常接近,我们一般提到标准模式,指的是除混杂模式外的其它模式。
还有一点就是:noscript元素,用于浏览器不支持javascript,现在一般很少使用这个

over~ ~ ~



这篇关于使用Javascript的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程