1.JavaScript的诞生
1995年,互联网带宽十分有限,为了在浏览器端解决一部分工作(诸如表单验证)缓解网络的压力,JavaScript出现了。
JavaScript诞生与Netscape与SUN的一个合作项目,并与Netscape Navigator2捆绑发行。
JavaScript取名如此仅仅是为了蹭JAVA的热度,其本身与JAVA并无关系。
2.ECMAScript
JavaScript取得了巨大成功。于是Netscape的主要竞争对手Micorsoft在其浏览器IE上也开发了一个浏览器脚本语言JScript。
由于当时浏览器端脚本语言并没有标准化,所以JavaScript和JScript存在这很多差异。这是开发人员不得不为了兼容多种浏览器而在网页上做更多兼容工作。
为了解决标准化问题,JavaScript1.1为蓝本提交给了ECMA,ECAMA于1998年发布了ECMAScript。
ECAMScript知识规定了基本的语言部分(语法,数据类型之类的。而JavaScript和JScript在此基础上做了更多扩展包括DOM,BOM以适应浏览器的开发环境。
可以说ECAMAScript是实现JavaScript和JScript的标准,而JavaScript和JScript是ECMAScript的实现。
值得一提的是ECMAScript的宿主环境并不一定是浏览器,比如Node。
入境JavaScript已经成为了默认浏览器脚本语言,但是其母公司Netscape确消失了(Mozilla的Firefox继承了衣钵),而IE确活的好好的。“浏览器大战”到底胜负如何呢?
3.<script>标签
在网页中嵌入JavaScript
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <title>嵌入JavaScript代码</title> 7 <script type="text/javascript"> 8 alert(hello); 9 </script> 10 </head> 11 <body> 12 </body> 13 </html>
其中第7行type属性的值写与不写都可以,因为JavaScript已经是所有浏览器的默认脚本语言啦。
引入外部脚本
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <title>外部引入JavaScript代码</title> 7 <script type="text/javascript" src="jiaoben.js" async="async" defer="defer"></script> 8 </head> 9 <body> 10 </body> 11 </html>
其中src属性指定脚本的URL。
第7行的async和defer属性请注意,它们会影响脚本的执行顺序,并且不同的浏览器对它们的支持也不同,所以最好不要使用。
4.<noscript>元素
<noscript>标签可以在不支持JavaScript的浏览器中输出替代内容,该标签只可以是<body>的子标签。
实例:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <title>外部引入JavaScript代码</title> 7 <script> 8 alert("该浏览器支持JavaScript"); 9 </script> 10 </head> 11 <body> 12 <noscript> 13 <h1>该浏览器不支持JavaScript</h1> 14 </noscript> 15 </body> 16 </html>
任何一个浏览器打开这个网页,都会有一个,该浏览器支持JavaScript的弹窗。
现在禁用脚本尝试打开(如何禁用脚本),如下图所示,只可以看见一个大标题