一、概述:
Netscape开发的一种基于对象和事件驱动的脚本语言。
被设计用来想HTML页面添加交互行为。
无需编译,可由浏览器直接解释运行。
是一种弱类型语言。
JavaScript的正式名称是“ECMAScript”,这个标准有ECMA组织发展维护。
特点:
交互性 (它可以做的就是信息的动态交互)
安全性 (不允许直接访问本地硬盘)
跨平台性 (只要是可以解释Js的浏览器都可以执行,和平台无关)
二、Js与html的结合方式:
1、内嵌方式:
<script type="text/javascript">
//不推荐使用language="javascript"属性
alert(1);
</script>
2、导入方式:
<script src="01.js"></script>
在引用外部JS的script标签间不能编写JavaScript代码
3、行内方式: (可以实现效果,但是比较少用)
<input type="text" onclick="Javascript:var a=20; alert(a)"></input>
三、基本语法:
· 变量、函数 区分大小写
· 变量是弱类型
var a = 10;
var b = true;
var c = "hello";
·当一行代码结束的时候,如果后面没有其他代码,分号是可以省略的
如果后面还有代码,则需要加上分号。但建议编写
· 两种注释类型 // /* */
· 两种数据类型
原始值:Undefined、Null、Boolean、Number 和 String
引用值:
(通过typeof查看变量类型;instanceof用来检测对象是否属于某个类)
· 运算符 二元、三元、比较
· 流程控制 注意 break、continue的区别
四、函数的定义:
方式一: 记住第一种就行,二三比较少用
function add(a,b){
return a + b;
}
函数无需定义返回值,可直接返回
方式二:
var add2 = function(a,b){
return a+b;
}
方式三:
var add3=new Function('a','b','c','c=c+1; return a+b+c;');
五、全局函数:(具体使用可参考帮助手册)
全局对象是预定义的对象,而不是类。既没有构造函数,也无法实例化一个新的全局对象
·isNaN 检查某个值是否为数字
·parseInt / parseFloat 解析字符串为整数 / 浮点数
·eval 把javascript 字符串作为脚本代码来执行
eval("x=10;y=20;document.write(x*y)")
·escape与unescape, encodeURI()与decodeURI()
escape函数可对字符串进行编码(中文),这样就可以在所有的计算机上读取该字符串
六、常用对象介绍:
Array对象 数组对象,进行数组操作
String对象 ----- 字符串类型的引用类型
Number对象 ---- 数字原始类型引用类型
Boolean对象 ---- 布尔原始类型引用类型
Math对象 执行数学任务
Date对象 用于处理日期和时间
七、语言组成:
一个完整的JavaScript实现由3部分组成:
·核心(ECMAScript)
·文档对象模型(DOM Document Object Model)
是W3C制定的一套用于访问XML和HTML文档的标准,允许脚本动态
的访问和更新文档的内容、结构和样式
1、DOM Core
DOM的核心方法及API getElementById()
getElementsByName()
getElementsByTagName()等
2、XML DOM 在DOM Core的基础上定义了访问和处理XML文档的标准方法
DOM树(每一个元素都会被解析为一个节点Node)
常用的节点类型:(每个节点都包含nodeName、nodeType、
nodeValue等属性信息)
nodeName nodeType nodeValue
·元素节点 Element 标签名 1 null
·属性节点 Attribute 属性名 2 属性值
·文本节点 Text #text 3 不可
·文档节点 Document #document 9 不可
注释 8
Node接口的属性和方法
控制DOM进行CURD(增删改查)
· 查找
getElementById()
getElementByName()
getElementByTagName()
· 删除
father.removeChild(node)
· 增加
Create node
father.appendChild(node)
father.insertBefore(new,ref)
· 修改
father.replaceChild(new,old)
old.replaceNode(new)
3、HTML DOM 在XML DOM的基础上增加HTML的特性和方法,是一个特例
DOM树
·浏览器对象模型(BOM这些对象包含多个属性和方法,具体使用可以参考帮助手册)
可以把浏览器里的一些常用对象抽取出来,让JavaScript控制,实现更好的交
互效果
1、BOM Window :表示浏览器窗口
2、BOM Navigator :浏览器的信息
3、BOM Screen :包含有关用户屏幕的信息
4、BOM History :浏览历史
5、BOM Location :对象用于获得当前页面的地址 (URL),并把浏览器重定向
到新的页面
·JavaScript常用事件(可以被JavaScript侦测到的行为)
1、鼠标移动事件 onmousemove, onmouseout, onmouseover
2、鼠标点击事件 onclick, ondblclick, onmousedown,onmouseup
3、加载与卸载事件 onload, onunload
4、聚焦与离焦事件 onfocus, onblur
5、键盘事件 onkeydown, onkeyup, onkeypress(回车的keycode=13)
6、提交与重置事件 onsubmit, onreset
7、选择与改变事件(二级联动)