zoukankan      html  css  js  c++  java
  • javascript基础拾遗(六)

    1.Date内置对象
    获取系统时间

    var now = new Date()
        console.log(now)
        console.log(now.getDate())
        console.log(now.getDay())
        console.log(now.getMilliseconds())
    

    2.构造Date对象

    var now = new Date(2017, 12, 6)
        console.log(now)
        console.log(now.getDate())
        console.log(now.getDay())
        console.log(now.getMilliseconds())
    

    需要注意的是,javascript的月份为0-11,因此,var now = new Date(2017, 12, 6)的时间为2018-01-06

    3.RegExp正则
    正则声明的两种方式

    var re1 = /ABC-001/;
        var re2 = new RegExp("ABC\-001")
        console.log(re1)
        console.log(re2)
    

    示例如下:

    var re1 = /^d{3}-d{3,8}$/;
        console.log(re1.test('010-12345'))
        console.log(re1.test('010-1234x'))
        console.log(re1.test('010 12345'))
    

    运行结果: true false false
    正则表达式的作用如下:
    1)切分字符串
    固定分隔符切分
    'a b c'.split(' ');//['a','b',' ','c']

    正则规则切分
    'a b c'.split(/s+/);//['a','b','c']

    多个空格或逗号切分
    'a,b, c'.split(/[s,]+/)
    2)提取子串

     var re1 = /^(d{3})-(d{3,8})$/;
     console.log(re1.exec('010-12345'))
    

    运行结果:['010-12345','010','12345']
    括号()表示要提取的分组
    3)贪婪匹配,非贪婪匹配
    贪婪匹配匹配尽可能多的字符

    var re1 = /^(d+)(0*)$/;
    console.log(re1.exec('102300'))
    

    运行结果:["102300", "102300", ""]
    非贪婪匹配匹配尽可能少的字符

    var re1 = /^(d+?)(0*)$/;
    console.log(re1.exec('102300'))
    

    运行结果:["102300","1023","00"]
    4)全局匹配
    var r1 = /test/g;
    // 等价于:
    var r2 = new RegExp('test', 'g');
    示例:

    var re1 = /^(d+?)(0*)$/;
    var s = 'JavaScript, VBScript, JScript and ECMAScript';
    var re=/[a-zA-Z]+Script/g;
    console.log(re.exec(s));
    console.log(re.lastIndex);
    console.log(re.exec(s));
    console.log(re.lastIndex);
    

    运行结果:
    [JavaScript]
    10
    [VBScript]
    20
    全局匹配类似搜索,不能使用/^...$/
    正则表达式i,表示忽略大小写,m,表示执行多行匹配

    4.JSON对象
    JSON是一种数据交换格式
    1)可以包含以下几种数据类型:
    number:数值
    boolean:true/false
    string:字符串
    null:空对象
    array:数组
    object:对象{}
    示例如下:

    var language = {
            name: 'javascript',
            score: 9.0,
            popular:true
        }
        console.log(language)
        var s = JSON.stringify(language)
        console.log(s)
    

    运行结果:
    {name: "javascript", score: 9, popular: true}
    {"name":"javascript","score":9,"popular":true}

    2)JSON序列化
    JSON.stringify(json_obj, null, ' ');
    将JSON对象序列化成JSON格式字符串
    第一个参数:要序列化的对象
    第二个参数:要输出的属性,或者属性处理函数
    如['name'],那么只会输出name属性
    或者函数,将string类型的value转大写
    JSON.stringify(json_obj, convert, ' ');
    function convert(key, value) {
    if (typeof value === 'string') {
    return value.toUpperCase();
    }
    return value;
    }

    第三个参数:属性前添加空格,可以使输出更美观

    也可以自定义序列化方法

    var language = {
            name: 'javascript',
            score: 9.0,
            popular:true,
    		toJSON: function(){
    			return {
    				'Name': this.age,
    				'Score': this.score
    			}
    		}
        }
        console.log(language)
        var s = JSON.stringify(language)
        console.log(s)
    

    3)JSON反序列化
    将JSON格式字符串,转化为一个JavaScript对象
    JSON.parse('{"name":"小明","age":14}'); // Object {name: '小明', age: 14}

  • 相关阅读:
    把指定文本输出到图片
    Delphi-WebService(53)
    YxdJSON
    Android 反编译工具
    delphi如何让程序最小化到任务栏(使用Shell_NotifyIcon API函数)
    守护进程-----杀死自己的进程再重新启动自己
    Delphi XE5通过DataSnap实现数据库三层应用
    用逆向设计和回归算法估算PWM
    早起的人生,到底有多赚
    为什么孝顺的人都会发家致富!我来告诉你!
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/7994731.html
Copyright © 2011-2022 走看看