JS(正则|JSON)
* JSON
1. 基础知识
1、$("#ddlLevel").empty(); 移除备选元素中所有内容
$("#ddlLevel").show(); 移除备选元素中所有内容,包括备选元素
var type = parseInt($("#ddlType").val());
var jsonTemp = eval("(" + msg + ")");
"day": new Date().getDate()
2. json和字符串转换
1、json对象转换为json字符串: JSON.stringify(obj);
2、json字符串转换为json对象: JSON.parse(str); 或者 eval("("+str+")") ; json字符串格式:
var json = '{"name":"Harvy", "age":36, "gender":"male"}'; //注意外面的''单引号不要忘记了
3. eval()
注:eval函数接收一个参数s,若s不是字符串则直接返回s;若s是字符串则执行s语句,如果s语句执行结果是一个值则返回此值,否则返回undefined;
对象声明语法{}不能返回一个值,需要用括号括起来转换为表达式,才会返回值。
var code1 = '"a" + 2'; //表达式 var code2='{a:2}'; //语句 var code3 = {a :2}; //对象, eval(code2); // 2,当成语句来执行 eval(code3); // {a :2},不是字符串直接返回 eval("("+code2+")"); // {a :2},添加()转换为表达式,才能计算其值 eval("var k = 3"); //声明了一个变量k=3
1 var JSONObject = { 2 "name":"菜鸟教程", 3 "url":"www.runoob.com", 4 "slogan":"学的不仅是技术,更是梦想!" 5 }; 6 7 console.log(JSON.stringify(JSONObject)); 8 9 //对象,JSON.parse 的第二个参数 reviver,一个转换结果的函数,对象的每个成员调用此函数 10 var text = '{ "name":"Runoob", "initDate":"2013-12-14", "site":"www.runoob.com"}'; 11 var obj = JSON.parse(text, function (key, value) { 12 if (key == "initDate") { 13 return new Date(value); 14 } else { 15 return value; 16 }}); 17 18 document.getElementById("demo").innerHTML = obj.name + "创建日期:" + obj.initDate; 19 20 21 //数组 22 "sites":[ 23 {"name":"Runoob", "url":"www.runoob.com"}, 24 {"name":"Google", "url":"www.google.com"}, 25 {"name":"Taobao", "url":"www.taobao.com"} 26 ] 27 28 29 //eval(string):函数可计算某个字符串,并执行其中的的 JavaScript 代码。 30 eval("var a=1"); // 声明一个变量a并赋值1。 31 eval("2+3"); // 执行加运算,并返回运算值。 32 eval("mytest()"); // 执行mytest()函数。 33 eval("{b:2}"); // 声明一个对象。 34 35 36 //使用 JSON.parse 的 reviver 函数时一定要注意遍历到最后的顶层对象 key 为 "",需要返回 value。 37 38 var json = '{"name":"Harvy", "age":36, "gender":"male"}'; 39 var person = JSON.parse(json, function (key, value) { 40 if(key != "") 41 return "<font color=\"blue\">"+value+"</font>"; 42 else 43 return value; 44 });
* 正则表达式
1、正向负向预查
eg:var s1 = "abcdkgjkjk233ab213332k";
1.1 (exp)
var k1 = s1.match(/ab(c)/); // k1 = ["abc", "c"] 匹配abc,并且将c保存在结果中