近期学习js知识的总结,,还会有2,3,4····
事件:
onclick,onmouseover,onmouseout,onmouseup,onmousedown,onchange,onload
获取元素:
通过id获取元素 :document.getElementById();
通过Tag获取元素: document.getElementsByTagName();
函数:
定义函数:function 函数名(){}
执行函数:谁调用了这个函数就在谁那里执行。
变量:
var 变量名=变量值
“.”:只能操作已存在的属性。
“[]”:可以接受一个变量,点能够操作的中括号都能操作。
循环:
for:
1 | //初始值var i=0, |
while:
1 | //初始值 |
this:
表示当前发生事件的元素。
变量类型:
判断变量类型用typeof
1,字符串:string
2,数字number(包含NaN)
3,布尔值:boolean
4,未定义:undefined(1访问一个不存在的属性2变量定义未赋值)
5函数:function
6,对象:Object
数据类型转换:
parseInt();parseFloat();Number();
*Number(‘12.5abc’)=>NaN parseInt(‘12.5abc’)=>12.5
运算符:
1,算数运算符:+,-,,/,%
2,赋值运算符:=,+=,-=,=,/=,%=
3,比较运算 == >,>=,<,<=
==相等 !=不等于
===相等 !==不等于
逻辑运算:||或 &&与 !取反
流程控制if
1,if(条件){
条件满足就走语句一
}else{
条件不满足就走语句二
}
简写:三目:条件?语句一:语句二;
2,if(条件){
语句;
}
简写:条件&&语句;
3,
if(条件一){
语句一
}else if(条件二){
语句二
}else{
语句三
}
####switch
switch(条件){
1 | case 条件1: |
}
break:中断整个程序,不再执行
continue:中断此次程序,继续下一次程序
判断真假:
真:非零数字,非空字符串,true,非空对象;
假:数字0,NaN,空字符串,false,undefined,null;
获取非行间样式:
1 | window.onload=function(){ |
eval():
可将字符串转化成js可执行代码。很强大,容易造成eval注入问题
定时器:
连续不断执行:
var timer = setInterval(函数,时间)
清空定时器:clearInterval(timer);
只执行一次:
setTimeout(函数,时间)
时间对象:
1 | var oDate=new Date(); |
封闭空间
解决变量名冲突;解决了i的问题;(循环里加事件,事件里的i不好使;循环里加定时器,i也不好使)
eg:
1 | (function(a){ |
设置样式:
1)用with语句:
1 | with(oBox.style){ |
2)cssText:批量设置样式
1 | oBox.style.cssText='width:400px; height:400px; background:red'; |
3)setStyle封装函数:
1 | function setStyle(obj,name,value){ |
####字符串
1,str.charAt(下标) 获取字符串中的某一项
2,str.indexOf(‘小字符串’) 获取某个小字符串在字符串中出现的位置
1)从左往右开始找,找到一个就不继续往下找了
2)区分大小写
3)如果没有找到,就返回-1
eg:
1 | //获取浏览器信息,通过indexOf判断里面有没有MSIE 10.0,如果等于-1,代表没有 |
3,str.lastIndexOf()
1)从右往左找
2)区分大小写
3)如果没找到就返回-1
4,str.toLowerCase()转小写
5,str.toUpperCase()转大写`
6,str.substring(起始位置下标,结束位置下标) 截取字符串 (不包括结束位置)
7,str.startsWith(小字符串)
8,str.endsWith(小字符串 )
9,str.split(切割方式)切割字符串,把字符串转化成数组
数组转字符串arr.join(切割方式)
#####字符串比较:
1,字符串数字
a)两个都是数字字符串类型,一位一位进行比较
b)其中有一个是数字类型,会做隐式类型转化,转化成数字进行比较
2,单词 字典序
3,汉字没规律
unicode
数组:
创建数组:
var arr=[];
var arr = new Array();
#####数组函数:
arr.push() 往数组后面添东西,会返回新的数组的长度
arr.unshift() 往数组前面添东西,会返回新的数组的长度
arr.pop() 从数组后面删除,会返回被删掉的数据
arr.shift() 从前面删除,会返回被删掉的数据
arr.splice(开始位置,删除长度,元素1,元素2)
arr.reverse()翻转
arr.sort() 排序
arr1.concat(arr2) 数组合并
arr.join()将数组转化成字符串
####数学方法:
Math.random()随机数0-1,不包括1
Math.ceil()向上取整
Math.floor()向下取整
Math.round()四舍五入
Math.abs()绝对值
Math.max()取最大值
Math.min()取最小值
Math.sqrt()开平方
Math.pow(n,m)n的m次方