JavaScript常用知识
字符串截取
substr(start [, length ])
返回一个从指定位置开始的指定长度的子字符串
substring(start, end)
字符串切割
split();
指定需要切割的字符,返回数组。a
注释:如果把空字符串 ("") 用作 split,那么 stringObject 中的每个字符之间都会被分割。
字符串加密解密案例
/*8进制加密*/
function EnEight(){
var monyer = new Array();var i,s;
for(i=0;i<txt.value.length;i++)
monyer+="\\"+txt.value.charCodeAt(i).toString(8);
txt.value=monyer;
}
/*8进制解密*/
function DeEight(){
var monyer = new Array();var i;
var s=txt.value.split("\\");
for(i=1;i<s.length;i++)
monyer+=String.fromCharCode(parseInt(s[i],8));
txt.value=monyer;
}
页面跳转
window.navigate("top.jsp");
window.history.back(-1);
window.location.href="login.jsp?backurl="+window.location.href;
self.location='top.htm';
top.location='xx.jsp';
加载完成
window.onload
必须等页面内包括图片的所有元素加载完成后才能执行。
不能同时编写多个,只执行一个
$(document).ready()
是DOM结构绘制完毕后就可以执行
可以编写多个
简写$(function(){});
$(window).load()等同与window.onload
刷新页面
history.go(0)
location.reload()
location=location
location.assign(location)
document.execCommand('Refresh')
window.navigate(location)
location.replace(location)
document.URL=location.href
json转化和解析
JSON.parse("{a:'111',b:'ccc'}"); //解析
eval("("+"{{ cpu_data }}"+")"); //解析
时间转换
var day1 = parseInt(new Date().valueOf()/1000); //获得当前时间时间戳
day2 = new Date(day1*1000);
alert(day2.getFullYear()+"-"+(day2.getMonth()+1)+"-"+day2.getDate()+" "+day2.getHours()+":"+day2.getMinutes()+":"+day2.getSeconds())
d = new Date();
s = d.getFullYear() + "-";
s += ("0"+(d.getMonth()+1)).slice(-2) + "-";
s += ("0"+d.getDate()).slice(-2) + " ";
s += ("0"+d.getHours()).slice(-2) + ":";
s += ("0"+d.getMinutes()).slice(-2) + ":";
s += ("0"+d.getSeconds()).slice(-2) + ".";
s += ("00"+d.getMilliseconds()).slice(-3);
日期比较大小
<script>
var beginDate=$("#beginDate").val();
var endDate=$("#endDate").val();
var d1 = new Date(beginDate.replace(/\-/g, "\/"));
var d2 = new Date(endDate.replace(/\-/g, "\/"));
if(beginDate!=""&&endDate!=""&&d1 >=d2)
{
alert("开始时间不能大于结束时间!");
return false;
}
</script>
URI编码转换
var a="':'";
en = encodeURI(a); //编码
a = decodeURI(en); //解码
HTML编码转换
function htmlEncode(value){
return $('<div/>').text(value).html();
}
function htmlDecode(value){
return $('<div/>').html(value).text();
}
转换函数
javascript提供parseInt()和parseFloat()两个转换函数
字符串转换成数字
将字符串转换成数字,得用到parseInt函数。
parseInt(string) : 函数从string的开始解析,返回一个整数。
举例:parseInt('123') : 返回 123(int);
parseInt('1234xxx') : 返回 1234(int);
如果解析不到数字,则将返回一个NaN的值,可以用isNaN()函数来检测;
举例 :
var i = parseInt('abc');
if (isNaN(i))
{
alert('NaN value');
}
parseFloat函数是将字符串转换成浮点数。
举例:parseFloat('31.24abc') : 返回 31.24;
数字转换成字符串
将字符串转换成数字,得用到String类的toString方法
举例:
var i = 10;
var s = i.toString();
alert(typeof s); //将输出 String
数字与字符串的区别
js的数字的加法与字符串的连接都是 + 符号, 所以究竟是加还是字符串的连接就取决与变量的类型。
举例:
var a = 'abc' + 'xyz'; //a的值为:abcxyz,字符串与字符串是连接
var a = 10 + 5; //a的值为:15,数字是加
var a = 'abc' + 10; //a的值为:abc10,字符串与数字,自动将10转换成字符串了
var a = 'abc' + 10 + 20 + 'cd'; //a的值为:abc1020cd
var a = 10 + 20 + 'abc' + 'cd'; //a的值为:30abccd,可以数字加的先数字加,然后再连接
如果从html页面元素得到的值,想按数字加,就需要先转换为数字,因为从页面得到的值默认是字符串。
浙公网安备 33010602011771号