js学习笔记
- 类(类里面的函数必须加 this)
- 事件(名称前on就是事件句柄)
- void运算符
- 控制语句(与java相同但是有特别的)
- js的内置对象
- BOM和DOM的区别与联系(前者包含后者window.document.·····)
- DOM编程
- BOM编程
类(类里面的函数必须加 this)
1、定义类的方法(和函数一样,看你怎么调用,用new会在堆里面开辟对象)
1)第一种:
function 类名(形式参数列表){
this.属性名=参数;
this.属性名=参数;
this.方法名=function(){}
}
2)第二种:
类名=function (形式参数列表){
this.属性名=参数;
this.属性名=参数;
this.方法名=function(){}
}
事件(名称前on就是事件句柄)
1、常用事件(背会)
1)blur(失去焦点)
2)focus(获得焦点)
ps:就是点击文本框,获取焦点,不点击文本框,失去焦点
4)click(鼠标单击)
5)dblclick(鼠标双击)
6)keydown(键盘按下)
7)keyup(键盘弹起)
ps:所有的键盘事件都有keyCode属性,获取键值(传入函数x或者直接this)
回车键的键值是13,esc是27
9)mousedown(鼠标按下)
10)mouseover(鼠标经过)
11)mousemove(鼠标移动)
12)mouseout(鼠标离开)
13)mouseup(鼠标弹起)
14)reset(表单重置)
16)submit(表单提交)
15)select(文本被选定)
3)change(下拉列表选中项改变或者文本框改变)
8)load(页面加载完毕body里面的属性)(window.onload=函数名,绑定)
ps:所有元素加载完才会触发
2、注册事件的两种方式
1)第一种:在标签中使用句柄属性,写js代码(行间事件)
onclick=“sayHello()”,页面打开时与click事件绑定,被称为 回调函数。
英文名,callback function 监听器调用,人不调用
2)第二种:用getElementByld()获取节点的标签,再.onclick=函数名
也只是将click事件与函数绑定,不会直接执行
3)插曲,js怎么根据id获取节点:
document代表整个html文档,window代表整个浏览器窗口(都是小写)
document是dom的对象,window是bow的对象
例如:input type=“button” id=“mybtn”
var mybtnelt=document.getElementById(“mybtn”);
当你获取到节点的时候,节点里面有什么属性你就可以点什么(可以改变里面的东西!!!!!)
void运算符
ps:与java相同,主要学习void运算符(与java不一样)
1、语法格式:void(表达式)
执行表达式,但不反回任何结果(即使表达式有执行结果)
例子:
1):保留链接样式(href=“”)
2):点击链接执行一段js代码(onclick=“”)
3):执行完代码后也面不跳转(跳转的原因:href里面的链接会直接跳转,相 当于循环,废弃这个可以跳转的链接才能不跳转
代码:(null也可以)
控制语句(与java相同但是有特别的)
1、for in语句:for(var 数组下标/对象的属性名(是字符串不能直接点) in 数组/对 象)
ps:java中的增强for是数组的值
2、with语句:
with(x){大括号里面就不用x.属性名,直接用属性名就好了}
ps:1、2都只需要了解不需要掌握
js的内置对象
1、数组(Array):(长度可变如直接a[100],没赋值默认undefind)
1)创建数组:
var a=[]常用
var a=[1,fa]//数组中的类型可以不一致
var arr=new Array(i)//创建长度为i的数组
var arr=new Array(1,2,3,4,5)创建指定值的数组
2)常用函数:
push(i):将i加入数组末尾
pop(i):将末尾i弹出并且返回i
ps:符合栈的方法,先进后出
a.reverse():翻转数组
a.join(i):每一个元素以i链接成一个字符串
2、日期(date):
1)创建日期:
var time=Date();获取当前时间
2)日期函数:
time.getFullYear():年
time.getMonth():获取的是以0开始算的月份
time.getDay():获取的是星期几
time.getData():获取一个月份当中的第几天
time.getHours() getMinutes() getSeconds() getMilliseconds()
time.toLocaleString():转换成本地语言格式的日期环境
time.getTime():获取自1970年1月1日 00:00:00 000到当前时间 的总毫秒数(时间戳)
BOM和DOM的区别与联系(前者包含后者window.document.·····)
1、BOM:通过bom的方法可以完成浏览器窗口的操作,例如:关闭浏览器,前进 后退,修改URL等,顶级内置对象为window
2、DOM:通过DOM的对象和方法可以完成网页中元素的增删改,让网页变动态 顶级对象为document
DOM编程
1、操作div和span:
1)div独占一行,span会随着内容多少的变化而变化
2)div/span.innerHTML = “”:设置div里面的内容,是属性
会将里面的代码当作一段html代码解释并执行,没有引号就当作js语句
3)div/span.innerText=“将里面的当作字符串看待”
2、复选框的全选和取消全选:
1)document.getElementsByName():将名字一样的标签作为集合返回
2)爱好.checked:选择或者设置复选框状态
ps:思路:先绑定鼠标单击事件;获取到多个复选框的集合;遍历集合设置
3、获取文本框的value:
4、获取下拉列表选中项的value:
通过onchange事件一旦发生列表改变就取得值
5、显示网页时钟:
window.setInterval(“函数”,时间):每隔时间,运行一次函数。有返回值
v= window.setInterval(“函数”,时间)(周期性调用)(v不能用var)
window.clearInterval(v):使v停止下来(停止周期性调用)
BOM编程
1、窗口的开启和关闭:
1)window.open(‘i,self’):打开网页i(默认新窗口,可以在后面加-self····)
2)window.close()
2、alert和confirm方法
1)alert:弹出窗口
2)confirm:确认框window.confirm(“确认删除吗?”)
返回boolean(确定是1,取消是0)
3、如果当前窗口不是顶级窗口,将其设置为顶级窗口
if(window.top!=window.self){
window.top.location=window.self.location;
}(意思就是登陆页必须要覆盖到顶级窗口,不能只占一部分,iframe:内部窗口)
4、历史记录
1)后退:window.history.back() 表示后退1步也可以go(-1)
2)前进:window.history.go(1)表示前进
5、window.location.href(当地窗口地址)href可以省略
window/doucment.location.href=“http://www.baidu.com”