js之字符串篇
1.
var str = 'string';
str.charAt();
str.charCodeAt(number);
(String).formCharCode(77,121);
根据编码判断是不是全都是数字
2.
str1 += String.fromCharCode(str.charCodeAt(i) + 520);
通过此函数可以进行加密(得到字符编码 + number) 和解密(编码 - number 得到字符)
3.
str.indexOf('str',5);
str.lastIndexOf('str',5);
str.lastIndexOf('str',-5);
console.log('阿福' > '欧贺福');
console.log('阿'.charCodeAt() + ' ' + '欧'.charCodeAt());
4.
子字符串:
str.substring(); == str.substring(0); 默认从第一个截取到最后一个
str.substring(-1,3) a < 0; 当做0处理
str.substring(1,10) b > length; 当做length处理
str.substring(3,2); a < b; 两个参数互换
5.
slice(-1,-3) a = index + a, b = index + b
slice(1,10); b > length 当做length处理
slice(3,2); 不会互换,返回空
js之字符串
1.
arguments:(即对象)参数的集合,并不是数组,不具有数组的方法;
当参数不确定时就用arguments;
通过匿名函数实现递归,arguments.callee(args);调用自身;
2.
div1.style.width
只可以获得内嵌样式,写入的也是行内样式,不改变css文件或内嵌里面的值;
div1.style.cssText = 'width:500px';
添加多个样式写在一起
3.
backgroundColor 不要拿来做判断
background 不要获取,复合样式
不要多打空格,或者不要用src判断等等
4.
getComputedStyle(obj).attr : obj.currentStyle.attr;
function getStyle(obj,attr) {
if(getComputedStyle(obj)[attr]) {
alert(getComputedStyle(obj)[attr]);
}else{
alert(obj.currentStyle[attr]);
}
return getComputedStyle(obj)[attr] ? getComputedStyle(obj)[attr] : obj.currentStyle[attr];
}
5.
每次开定时器之前先把之前的清除
aInput[0].onclick = function () {
clearInterval(timer);
timer = setInterval(function () {
document.body.style.background = 'url(' + arrImg[num] + ') no-repeat';
num ++;
num = num % arrImg.length;
},2000);
};
6.
setTimeout(function () {
oImg.style.display = 'inline-block';
setTimeout(function () {
oImg.style.display = 'none';
},3000);
},3000);
内置定时器,让其在第一件事完成后在开始定时。(广告的出现与消失)
1.
虽然absolute,float脱离了文档流,但是(初始位置会根据文档流排列),
只会对后面的元素和父级元素产生影响(覆盖后面的元素,父元素塌陷等等)与前面的无关.
2.
在开始定时的时候必须对上次的定时器清除(null undefined都没有关系)
3.
btn1.onclick = function () {
doMove(div1,'left',10,1000,function () {
doMove(div1,'top',10,500);
});
};
4.
在短的间隔时间内连续触发事件;
clearInterval(timer);
timer = setInterval(function () {
doMove(aDiv[num],'top',10,500);
num ++;
if(num == len) {
clearInterval(timer);
}
},100);
5.
在对象上绑定一个特有的定时器,不用设置变量。
obj.timer;
6.
想让两件事有间隔的发生,setInterval();
或是想让一件事在另一件事完成之后完成。
1.嵌套定时器,当第一个定时器走完的时候第二个定时器才开始(广告)
2.设置回调函数,当地一个定时器要销毁的同时打开另外一个定时器。 推荐