javascript:
1、可以在body中使用:直接与html写在一起<body><script type="text/javascript">
</script><body>
2、可以在head中使用:可以写在head中: <head><script type="text/javascript">
</script><head>
3、可以在外部文件中使用:可以创建一个与html文件同级的js目录,然后在目录中创 、建js类型文件,然后再html文件中引用:格式为<script src="js/jquery-3.1.0.min.js" type="text/javascript" charset="utf-8"></script>
4、注释
// 单行注释
/* */ 多行注释
变量与数据类型
1、声明方式:
var:定义的变量可以修改,如果不初始化会输出undefined,不会报错。
let:是块级作用域,函数内部使用let定义后,对函数外部无影响。
const:必须赋值
const>let>var
变量命名规则:
必须以字母、下划线或美元符号开头,后面可以跟字母、下划线、美元符号和数字,不能以关键字命名,区分大小写
2、基本数据类型
undefined:当变量没有赋值时 默认值undefined 类型"undefined"
number:中所有数值格式都是number类型
boolean:true和false的类型
string:字符串类型使用''和""都可以
null:清空变量 不再使用 类型为object
3、 两种复合类型:
对象:python中的字典 {key:vallue,key2:value2}类型为object
数组:python中的列表 typeof类型为 object
6、运算符
1、算数运算:+加 -减 *乘 /除 %取余 i++ ++i i-- --i
2、赋值运算符:= += -= *= /= %=
3、比较运算符:> >= < <= != == === “==="运算符需要比较值和类型”
4、逻辑运算符:&& 与 || 或 ! 非
&&逻辑与,当两边的值都为true时返回true,否则返回false
|| 逻辑或,当两边值都为false时返回false,否则返回true
! 逻辑非
流程结构
1.顺序结构:由上至下,按书写顺序执行,包括注释语句,赋值语句,输入输出等语句
2.分支结构:
单分支:
if(条件){代码块
}
else{
代码块
}
多分支:
if(条件1){代码块
}
elif(条件2){ 代码块 }
else{
代码块
}
Switch语句:
Switch(条件){
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
n 与 case 1 和 case 2 不同时执行的代码
Break;
}
循环While语句:
While(条件){
代码块
}
do while语句:
do{
代码块
}while(条件)
先执行代码,再进行判断
循环语句for:
for(let i;i<10;i++){
代码块
}
Continue:代表结束本次循环,不在执行下面的代码,而是回头去执行下次循环。
Break:结束整个循环,不在执行循环语句
函数:
指的是将一段代码块封装,使用的时候可以统一调用
系统函数:
1.延时函数:再多长时间后执行这个函数
setTimeout(fun,time)
(fun:函数 time:延迟的时间,1000指的是1秒)
2.计数函数:每隔多长时间执行一次这个函数
Setinterval(fun,time)
(fun:函数 time:间隔的时间,1000指的是1秒)
自定义函数:
1.function 函数名 (){
函数体
}
函数名唯一,括号内可以写实参,也可以传虚参
2.匿名函数:没有函数名,不可以单独使用
function(){
}
匿名函数的使用可以赋值给变量,可以作为虚参使用,可以作为对象的键值使用
内置对象
1.Math对象
Math.pi:取一个固定值3.14....
Math.ceil(1.4):向上取整,1.4->2
Math.floor(1.4):向下取整,1.4->1
Math.round():四舍五入
Math.max(x,y):取两个数之间最大值
Math.min(x,y):取两个数之间的最小值
Math.abs(-1):取绝对值
Math.pow(x,y):幂次方,指x的y次方
Math.random():产生一个0-1之间的小数,不包括1
2.string对象
length:字符串的长度
indexOf():返回第一次字符串内第一次出现该字符的索引
lastindexOf():返回该字符串最后一次出现的索引
charAt():返回一个指定索引的 字符
replace(‘x’,’y’):返回一个字符串,将原本字符串中的x字符替换成y字符
substr(start,length):返回一个从star索引开始,长度为length的字符串
substring(start,end):返回一个从star索引开始,到end索引,但不包括end的字符串,不接受负参数
toLowerCase():返回一个字符串,该字符串中的英文字母全部小写
toUpperCase() :返回一个字符串,该字符串中的所有英文字母全部大写
split():返回一个把字符串分割的字符串数组
3.data对象
let mydata = new Data():获取当前的时间
mydata.getFullYear():获取当前的年份
mydata.getMonth():获取当前的月份
mydata.getDate():获取当前的日期
mydata.getDay():获取当前星期几
mydata.getHours():获取当前的小时
mydata.getMinutes():获取当前的分钟
mydata.Seconds():获取当前的秒数
mydata.getMilliseconds():获取当前的毫秒数
mydata.getTime():返回一个整数,代表从1970年1月1日开始的计算到Data对象之间的毫秒数
JOSN对象:
1.JSON.parse ():可以把字符串转换成JSON对象
2.JSON.stringify(): 可以json对象转换成字符串
10、DOM
获取文档对象
Document.getElementById():通过标签id获取文档对象
Document.get ElementByClass():通过标签类名获取文档对象
Document.get ElementTagName():通过标签名获取对象
需要注意的是通过类名和标签名获取的对象有可能不止一个,需要注意自己所需要的是哪一个,在后方标明索引
对DOM对象的内容进行操作:
- innerText()修改的只是首尾标签中间的文本内容
- innerHTML().可以修改文本内容,也可以通过输入完整的标签来给对象添加一个子标签
对DOM对象样式进行操作:
1.对于内联样式可以直接对象.style.样式名
2.对于外部样式表和内部样式表需要使用getComputedStyle(对象).width来对对象的样式进行修改,这里需要注意
对DOM对象属性进行操作:
1.DOM对象.属性名
2.DOM对象[属性名]
3. getAttribute(属性名称):获取属性值
4.setAttribute(属性名称,属性值):修改对象的属性的值
5.removeAttribute(属性名称):删除对象的属性:
6.hasAttribute(属性名称) 判断对象是否拥有该属性
对DOM对象事件进行操作(我通常配合匿名函数使用):
1. onclick:在鼠标被点击时会发生的事件onmousedown:鼠标按下会发生的事件
2.onmouseup:鼠标松开会发生的事件
3.onmousemove:鼠标在指定的对象上移动时发生的事件
4.onmouseenter:鼠标移动到元素上发生的事件
5.onmouseleave:鼠标离开元素时发生的事件
6.onload:在对象加载完成后发生的事件
6.onscroll:在页面滚动条滚动时触发的事件
7.onresize:当浏览器窗口页面大小改变时触发的事件
对DOM节点进行操作:
1.createElement():创建一个元素节点
2.appendElement():在末尾插入节点
3.insertBefore(新元素,老元素):在老元素之前插入节点
4.remove():删除指定的节点
获取相关的节点:
1.parentElment,获取对象的父元素
2. children:获取所有的子元素
3.firstElementchild:获取对象第一个子元素
4.lastElmentchild:获取兑最后一个子元素
5.previousElementSibling:获取前一个元素
6.nextElementSibling:获取后一个元素