简介:
Javascript:是基于对象和事件驱动的并且具有安全性能的客户端解释型脚本语言。诞生于1995年,当时的目的是为了验证表单的输入。不需要在一个语言环境下运行,只需要支持它的浏览器即可。它的主要目的是验证发往服务器端的数据,增加web互动,加强用户体验度等。目前用的最普遍的是第三版,最新的是第五版。
一个完整的JavaScript应该由核心(ECMAScript),文档对象模型(DOM),浏览器对象模型(BOM)组成。
ECMAScript是JavaScript的规格标准,JavaScript是ECMAScript的一种实现.
特点:
- 解释型:不需要编译,浏览器直接逐行解释执行。代码错误,则页面中无效果。
- 基于对象:内置大量现成对象,可以直接使用。
- 事件驱动:可以以事件驱动的方式响应客户端的输入,无需经过服务端程序。
- 安全性:不允许访问本地硬盘,不能将数据写到服务器上,不允许对网络文档进行修改和删除。
- 跨平台:js依赖于浏览器本身,与操作系统无关。
js的变量是弱类型,定义变量时只使用var。
js的变量区分大小写。
js使用分号或者换行结束,每行结尾的分号可有可无,但一般都写。
js使用大括号标签代码块,被封装在大括号内的语句按照顺序执行。
js由unicode字符集编写。
js可以使用任何文本编辑工具编写。
ECMA-262是正式的javascript标准,此标准由ECMA组织维护和发展, 基于javascript和jscript。
script:
<script></script>
是用于在html页面中插入js。
将js文件放在元素中,意味着必须等到全部javascript代码都被下载,解析和执行完毕之后,才能开始呈现页面的内容.所以一般把js引用放在元素页面内容的后面.
属性:
- src:可选。包含要执行代码的外部文件。
- charset:可选。表示通过src属性指定的字符集。大多数浏览器忽略。
- defer:可选。表示脚本可以延迟到文档完全被解析和显示后再执行。只对外部脚本文件有效.大多数浏览器不支持。(立即下载,但延迟执行).延迟脚本总是按照指定它们的顺序执行.
- async:可选.当前脚本不阻塞页面呈现,也不等待其他脚本.只对外部脚本文件有效.异步脚本不一定按照它们在页面中出现的顺序执行.
- language:已废弃。
- type:必须。可以看作是language的替代品。表示代码使用的脚本语言的内容类型。
如果要弹窗显示<script>
:
- 可以使用拼接字符串
<script type=”text/javascript”>
alert(‘<scr’+’ipt>’);
</script>
- 可以使用转义字符
<script type=”text/javascript”>
alert(‘<\scipt>’);
</script>
当浏览器不支持或禁用javascript时,可以在body的最前或最
后:
<noscript>
本站必须启用javascript!
</noscript>
包含在
<script>
元素内部的javascript代码将被从上到下依次解释.
插入方式
- 事件定义方式:
<input type=”button” value=”按钮” onclick=”alert(‘ Hello’);”>
- 嵌入式:在
<head>
元素中直接嵌入js。
<head>
<script type=”text/javascript”>
alert(“hello”);
</script>
<head>
<head>
<script type=”text/javascript”>
function method(){
alert(“hello”);
}
</script>
<head>
<body>
<form>
<input type=”button” value=”按钮” onclick=
“method();”>
</form>
</body>
- 文件调用方式。
创建带有.js扩展名的外部javascript文件,文件中,不需要包含
<script>
标签,直接书写js代码,在<head>
元素中插入<script type=”text/javascript” src=”文件路径/文件名”></script>
。
<script>
的src属性可以包含来自外部域的javascript文件,也就是src属性可以指向当前HTML页面所在域之外的某个域中的完整URL.
<script></script>
标签之间不应该再包含额外的javascript代码,会被忽略.
具有维护性高,可缓存(加载一次,之后无需再加载),方便未来扩展的特点。
<script type=”text/javascript” src=”http://ww.somewhere.com/afile.js>
注释:
- 单行注释使用”//”开头,在”//”后面的内容即为注释内容,注释的内容 在代码执行过程中不起作用。
- 多行注释以”/”开头,以”/”结尾,每行开头都要有”*”(不是必须的),在两者之间的内容即为注释内容。
标识符:
由不以数字开头的字母,数字,下划线,美元符号组成,常用于表示函数,变量等名称,最好有明确含义,不能使用关键字、保留字、true、false、null等,建议遵守camel法则。
字面量(直接量):
程序中直接显示出来的数据。有字符串字面量,数字字面量,正则表达式字面量,布尔值字面量,对象字面量(null)。在ECMAScript中,也支持数组字面量表达式(如[1,2,3]),对象字面量表达式(如{x:1,y:2})
关键字:
js语言中代表特定含义的,已经开始使用的字符。
保留字:
目前在javascript中还没有特定用途,但很有可能将来被用作关键字。