JS(正则|JSON)

本文详细介绍了JavaScript中的JSON基础知识,包括json对象与字符串的转换,以及eval()的使用。同时,深入探讨了正则表达式,涵盖正向负向预查、创建方式、元字符、正则运算符优先级及零宽断言等概念,还有与正则相关的方法如test、exec、match和replace的使用技巧。
摘要由CSDN通过智能技术生成

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 });
json笔记

* 正则表达式

 

 1、正向负向预查

   eg:var s1 = "abcdkgjkjk233ab213332k";

1.1 (exp)
var k1 = s1.match(/ab(c)/);  // k1 = ["abc", "c"] 匹配abc,并且将c保存在结果中
1.2 (?:exp)

   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值