js是一门很随便的语言 事件驱动编程
JS的容错机制
undefined:当声明的变量未初始化时,该变量的默认值是undefined
当函数无明确的返回值时,返回的也是undefined
NaN:属于Number类型的一个特殊值,当遇到将字符串转换成数字无效时,就会得到一个NaN
Null:表示尚未存在的对象
函数或方法要返回的是对象,那么找不到该对象,那么的通常是null
ECMAScript: 语法基础
变量
常量
标识符
数据类型:Number
String
Boolean
Null
Undefined
Object
数据运算:
算数运算
布尔运算
关系运算
逻辑运算
赋值运算
流程控制:if switch for while
ECMAScript: 面向对象
1 宿主对象:BOM DOM 执行JS脚本的环境提供的对象
2 本地对象: Array 对象的属性方法操作
String
Date, Math
Boolean,
Number
Function, 函数对象:函数与其他对象一样,拥有可以通过代码访问的属性和一些列仅供JS引擎访问的内部属性
其中一个内部属性是Scope,该内部属性包含了函数被创建的作用域中对象的集合,这个集合被称为
函数的作用域链,它决定了哪些数据能够被函数访问。
函数的内置对象arguments 用来查看函数传入的参数,在作用域链之外
Global,
Error,
RegExp
Object:ECMAScript中的所有对象都由这个对象继承而来,Object对象中的所有属性和方法都可以被他的子对象所使用
Object的两个方法: toString() 返回对象的字符串表示
valueOf() 返回最适合该对象的原始值
两者用于调试
3 自定义对象:字典
两个宿主对象:BOM :全局window对象 控制浏览器窗口
DOM: 访问和操作html文档的标准方法
1 dom对象就是由对象组成的,
对象包括:
document
element
attribute
text
dom树 ------------node对象
节点关系(图)
2节点查找:直接查找4种
导航查找(基于节点关系) parentelement
children
firstelementchild
lastelementchild
nextelementsibling
previouselementsibling
3节点操作:
创建标签(节点)
创建标签属性
添加标签(节点)
删除标签(节点)
替换标签(节点)
4节点属性操作:
innertext innerhtml
attribute操作 :set
get
remove
class操作
在js中改变css的样式
5dom事件
Event 对象:代表事件的状态,比如事件在其中发生的元素,键盘按键的状态,鼠标的状态和位置
事件通常与函数结合使用,函数不会在事件发生前被执行,event对象在事件发生时系统已经穿件好了,并且
会在事件函数被调用时将event传给函数。
onclick ondblclick
onload onsubmit onselect
onchange
onfocus onblur
onmouseover onmouseleave onmouseout onmousedown
onkeydown onkeyup onkeypress(keyCode)
elementNode.onkeydown=function(e){
this.Attribute=value
num = e.keyCode
}
// e: 指代的是onkeydown事件发生时的状态,放在函数后面的()里,可以是任何形态
// this :指代触发事件的标签元素,可以直接使用,在函数中调用标签的属性
// keyCode:指代event对象(事件的状态)的属性,可以被e调用
函数只有绑定了事件才会有this属性,并且this属性在函数作用域链之外