js总结

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属性在函数作用域链之外
原文地址:https://www.cnblogs.com/liuguniang/p/7044194.html