定义数组的两种方法
var a=[1,2,3];
var a=new Array(1,2,3);
数组的length属性
既可以获取,也可以设置
并可以用于清空数组(length = 0)
数组的方法
push(元素),从尾部添加
pop(),从尾部删除
arr.pop():删除数组arr的最后一个
unshift(元素),从头部添加
shift(),从头部删除
数组splice方法
splice(起点,长度)
arr.splice(2,3)
arr.splice(2,3,4,5,6)先删除再插入(实现了替换的效果)
数组slice方法
slice(start, end);从start开始选取,到end结束选取。如果是负数,则表示从数组尾部开始算起的位置。
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
start和end都代表的是数组下标。
数组的连接
arr1.concat(arrb);
join()方法,用指定的连接符连接数组
数组的排序
arr.sort();
//按值的大小顺序排序
arr.sort(function(n1,n2){
return n1-n2;
})
ie7下不兼容字符串的str[]的形式,使用str.charAt(0))
var str="abcdef";
alert(str.charAt(0));
定时器的使用
setInterval clearInterval (按照指定的周期(以毫秒计)来调用函数或计算表达式)
setTimeout clearTimeout (指定的毫秒数后调用函数或计算表达式)
function show(){
alert('a')
}
setTimeout(show,1000)
setInterval(show,1000)
//关闭一个定时器(定义一个timer)
var timer=null;
btn1.onclick=function(){
timer=setInterval(function(){
alert('a');
},1000)
}
btn2.onclick=function(){
clearInterval(timer);
}
offsetLeft与style.left的区别
封装一个通过类名获取元素的函数
function getByClass(oParent,sClass){
var aResult=[];
var aEle=oParent.getElementsByTagName('*');
for(var i=0;i<aEle.length;i++){
if(aEle[i].className==sClass){
aResult.push(aEle[i]);
}
}
return aResult;
}
js获取非行间样式
//封装获取非行间样式的js代码
function getStyle(obj,name){
if(obj.currentStyle){
//ie
return obj.currentStyle[name];
}else{
//firefox
return getComputedStyle(obj,false)[name];
}
}
var oDiv=document.getElementById("div");
alert(getStyle(oDiv,'width'));
js获取两数之间的随机数
function getRandom(min,max){
min=Math.ceil(min);
max=Math.floor(max);
return Math.floor(Math.random()*(max-min+1))+min
}
应用:
随机选中某一个option
querySelector根据选择器获取元素(ie8以上)
//查找一个元素,如果页面上有多个符合条件的元素,只返回第一个
var div=document.querySelector('.div');
//返回多个符合条件的元素
var divs=document.querySelectorAll('.div')
//获取form表单中的指定类型的元素
var frm=document.querySelector('#frm');
var texts=frm.querySelectorAll('input[type=text]');
javascript注册事件
事件三要素:事件源 事件名 事件处理程序
var obj={
name:'ls',
say:function(){
}
};
//js的动态特性,可以随时给对象增加成员
obj.test=function(){//自己调用
}
var btn=document.getElementById("btn");
btn.onclick=function(){//由浏览器系统调用
alert('啦啦啦');
}
//对``标签的点击事件的阻止默认行为
"link" href="www.baidu.com">点我
var link=document.getElementById("link")
link.onclick=function(){
alert('hello');
return false;//a链接不再跳转
}
关于this指向的问题
使用字符串方法和数组方法两种方式拼接字符串
不停地拼接字符串,每一次的拼接都会在内容中开辟一个空间,消耗内存,使用数组的方法,可以提高性能
点击循环遍历显示数组中的图片
javascript的鼠标聚焦与失焦方法
API/webAPI
undefined null
在JavaScript中存在这样两种原始类型:Null与Undefined