JS相关知识总结
首先把前两天接触到的关于静态方法与构造器的理解贴上来:
a.构造函数 只运行一次 而可以被调用多次
b.构造代码块 对象创建则运行构造代码块 而且优于构造函数执行。构造代码块是给所有对象进行统一初始化,而
构造函数是给对应的对象初始化,构造函数可以为多个,构造代码块中定义的是不同对象共性的初始化内容
c.静态代码块 static{}
类加载而执行,只执行一次 并优于主函数(main)
静态代码块是给类初始化的 而构造代码块是给对象初始化的
所以对于一个类来说 执行顺序为 :
静态代码块
构造代码块
构造函数
而对于一个含有变量的类中
静态变量
静态代码块
变量
初始化块
构造器
当含有继承的情况时
应当是先执行父类的静态相关模块 再依次执行子类相关模块
父类相关构造块 再执行子类相关构造块 以及普通成员变量
然后是关于原生js的DOM对象
1.dom对象分为dom0和dom2
dom0中关键之处在于各种注册事件
var e=document.getelementbyid("id")
e.onclick=function(){
}
jquery对象
var e=$("id")
e.click(function(){
})
其次 dom对象在处理注册事件时 除了传统的.onclick=function(){}方式之外 还有另一种方式:
document.getElementById("b")["onclick"] = function(){}
[]的形式主要是为了解决属性名不是合法的标识符 同时也可以表示用字符串表示属性名称,可以在运行时动态绑定事件
dom2中在事件中的直观表现方式就是在所有事件的调用时少了on
另外dom2的具体使用还不是特别的清楚和了解 目前只从相关帖子看到一个关于:
addEventListener 的使用
主要作用是用于更高效的去捕捉到window的事件对象
通过捕获和冒泡来判断当前应该处理事件的对象是哪一个 从而减少浏览器的压力
e.stopPropagation() //阻止冒泡
2、
window对象 和document对象
window对象从直观上来说就相当于一个手机屏幕 而document相当于手机屏幕中的内容 内容可能会有很多 所以他的长度是不固定的 并且可能会一直大于window
text() html() val()
text()主要用获取非表单内容
val()主要用于表单内容
html()主要用于获取普通html内容 如果存在多个元素 匹配第一个元素