ECMAScpript:客户端脚本语言
基本语法:
1与html的结合方式
内部js
外部js:在外部定义js文件,通过引入
2注释
3数据类型
基本数据类型:
number
String
boolean
null:一个对象为空的的占位符
undefined:如果一个变量没有给初始值,那么默认是undefined
引用数据类型:对象
4变量
5运算符
字符串比较是按照字典顺序比较的,逐一按位比较
类型不同,先进行类型转换,再比较
“===”,全等于,在比较之前,先判断类型是否一致,不一致返回false
逻辑运算符:
其他类型转换Boolean:
number:0或NaN是false,其他的为true
String:空字符串为false,其他的为true
null和undefined为false
对象:所有对象都为true
6流程控制语句:
if…else…
switch
while
do…while
for
对象:
基本对象:
function:创建方式:
function fun(a,c){
alert(a+c);
}
fun(22,33)
var c = function(a,b){
alert(a+b)
}
c(22,44)
特点:
1方法的定义,形参类型可以不用写
2方法是一个对象,如果定义名称相同的的方法,会覆盖
3在js中,方法的调用只与方法的名称有关,和参数列表无关
4,在方法的声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数。
array:
创建: var arr1 = new Array(1,2,4,6);
var arr2 = new Array(5);
var arr3 = [1,3,5];
方法
jdin():将数组中的元素按照指定的分隔符拼接为字符串
push():在数组的尾部添加一个或者更多的元素
boolean
date:
方法:toLocaleString():返回本地格式的时间字符串
getTime():获取现在到1970年的毫秒值
math:Math.方法名()
number
string
regexp:正则表达式对象
1,定义:定义字符串的组成规则
1,单个字符
特殊符号
\d:单个数字字符
\w:单个单词字符【a-zA-Z0-9】
量词符号;
?:表示出现0次或者1次
*:表示出现0次或者多次
+:出现1次或者多次
{m,n}:表示 m<=数量<=n
开始结束符号;
^:表示开始符号
KaTeX parse error: Undefined control sequence: \w at position 28: … 例如:var cc = /^\̲w̲{4,6}/
2,正则对象:
创建:var aa = new regexp(“正则表达式”);
var bb = /正则表达式/;
方法:test(参数):验证指定的字符串是否符合正则定义的规范
global:
特点:全局对象,这个global中封装的方法不需要对象就可以直接调用。 方法名();
方法:encodeURI:url编码
decodeURI:url解码
encodeURIComponent:url编码
decodeURIComponent:url解码
parseInt:将字符串转化为数字
eval:
BOM
概念:浏览器对象模型
将浏览器的各个组成部分封装成对象
组成:
windows:窗口对象
特点:windows对象不需要创建可以直接使用,windows.方法名();
windows引用可以省略:
方法名()
方法:
1与弹出有关的
alert():警告框
confirm();显示带有一段消息以及确认按钮和取消按钮的对话框
prompt():显示可提示用户输入的对话框
2与打开和关闭有关的方法:
close();关闭浏览器
open();打开一个新的浏览器窗口
3与定时器有关的方法
setTimeout():在指定的毫秒数后调用函数或计算表达式(只执行一次)
clearTimeout():取消定时方法
setInterval():按周期执行任务
clearInterval():取消任务
属性
navigator:浏览器对象
screen:显示器对象
history:历史记录对象
1创建:
windows.history
history
2方法
back() 加载history列表的前一个url
forward() 加载history列表的下一个url
go(参数) 加载history列表中的某个具体页面
参数:
正数:前进几个历史记录
负数;后退几个历史记录
3属性:length:返回当前窗口历史列表中的url数量。
location:地址栏对象
创建:
windows.location()
方法:
reload():重新加载当前文档
属性:
href:设置或返回完整的url
DOM
功能:控制html文档的内容
代码:获取页面标签(元素)对象element
document.getElementById(“id值”):通过元素的id获取元素对象
改变标签内容:
document.getElementById(“id值”).innerHTML=“内容”;
系统学习:
文档对象模型
将标记语言文档的各个组成部分,封装为对象。可以使用这些对象,对标记语言文档进行crud的动态操作
核心dom:
document:文档对象
方法:
1获取element对象;
1getElementById():根据id属性值获取元素对象。id属性值一般唯一
2getElementsByTagName():根据元素名称获取元素对象们,获取的是一个对象数组
getElementsByClassName()
4getElementsByName()
2创建其他的dom对象:
createAttribute(name)
createComment()
createElement()
createTextNode()
attribute;属性对象
text:文本对象
comment:注释对象
element:元素对象
获取:通过document来获取
方法:
1removeAttribute():删除属性
2setAttribute():设置属性
node:节点对象:其他5个的父对象
方法:
crud dom树
appendChild():向节点的子节点列表的结尾添加新的子节点
removeChild():删除(并返回)当前节点的指定子节点。
replaceChild():用新的节点替换一个子节点
属性:parentNode:返回节点的父节点
html dom
1标签体的设置和获取:innerHTML
2使用html元素对象的属性
3控制样式
事件简单学习:
1直接在html标签上,指定事件的属性(操作),属性值就是js代码
onclick:点击事件
2通过js获取元素对象,指定事件属性,设置一个函数
常见的事件:
1点击事件:
1onclick:单击事件
2ondbclick:双击事件
2焦点事件:
1onblur:失去焦点
2onfocus:元素获得焦点
3加载事件:
1onload:一张页面或一幅图像完成加载。
4鼠标事件:
1onmousedown:鼠标按钮被按下
2onmouseup:鼠标按钮被松开
3onmousemove:移动鼠标
4onmouseover:鼠标移到某个元素之上
5onmouseout:鼠标从某个元素移开
5键盘事件:
1onkeydown:某个键盘被按下
2onkeyup:某个键盘被松开
3onkeypress:某个键盘按键被按下并松开
6选择和改变
1onchange:域的内容被改变
2onselect:文本被选中
7表单事件:
1onsubmit:确认按钮被点击
2onreset:重复按钮被点击