JSON对象和JSON字符串的相互转换:
- JSON对象>>JSON字符串:
JSON.stringify(a)
或a.toJSONString()
- JSON字符串>>JSON对象:
JSON.parse(b)
或b.parseJSON()
也可用eval:
var a ='{"name":"Tom","age":24}';
console.log(eval("("+a+")")); //Object {name: "Tom", age: 24}
火狐不兼容window.event.keyCode
以下在chrome和IE中有效,在Firefox中报错:window.event is undefined
document.getElementById("test").onkeydown = function (event) {
if (window.event.keyCode === 13){
console.log("ok");
}
}
以下方法兼容IE,chrome和Firefox
document.getElementById("test").onkeydown = function (e) {
e = e || window.event;
var keyCode = e.keyCode || e.which || e.charCode;
if (keyCode === 13){
console.log("ok");
}
}
字符串API
所有API都无法修改原字符串,都会返回新字符串
1.大小写转换:
var newStr=str.toUpperCase(); //将str中所有字母转大写
var newStr=str.toLowerCase(); //将str中所有字母转小写
2.检索敏感词位置:
var i=str.indexOf("敏感词"[,fromi]); //找到:返回敏感词第一个字符的位置下标;没找到:-1
//省略fromi,则默认从0位置开始
找到所有关键词的位置: var i=-1; while((i=str.indexOf("关键词",i+1))!=-1){...}
var i=str.lastIndexOf("敏感词"[,fromi]);//从fromi位置向前找上*一个*敏感词出现的位置
//找到:返回敏感词第一个字符的位置下标;没找到:-1,省略fromi,则默认从结尾位置开始
举个栗子:
var str="we two who and who";
str.lastIndexOf("who",8);//7
找到所有关键词的位置: var i=str.length; while((i=str.lastIndexOf("关键词",i-1))!=-1){...}
3.获取子字符串:
var subStr=str.slice(starti[,endi+1]) //支持负数参数
var subStr=str.substring(starti[,endi+1])//不支持负数参数,可用length-n代替
//都可省略第二个参数,如果省略,表示一直截取到结尾
var subStr=str.substr(starti,n);//从starti位置开始,截取n个。
例如:str.slice(-4,-2)
和 str.substring(length-4,length-2)
4.切割字符串:
var arr=str.split("分割符");// 切割后的数组中不包含分隔符的
—固定套路:
- 将字符串打散成字符数组:var arr=str.split(“”);
- 将英文句子,切割为单词:var arr=str.split(” “);
split与join:
- split是使用一个指定的分隔符把一个字符串分割存储到数组
var str="jpg|bmp|gif|ico|png";
var arr=str.split("|");
console.log(arr); //["jpg", "bmp", "gif", "ico","png"]
- join是使用您选择的分隔符将一个数组合并为一个字符串
var arr = ["we","are","family"];
var str = arr.join(" ");
console.log(str); //we are family