JavaScript_day16

day16内容

学习目标
1.基本包装类型
2.Math对象
3.Date对象

  1. 基本包装类型
    1)为了便于操作基本类型值,ECMAScript提供了3个特殊的引用类Boolean, Number, String
    每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型对象,从而可以使我们调用一些方法操作这些数据。
    var s = “briup”;
    s.substring(2);
    后台会自动完成以下操作:
    a.创建String类型的一个实例
    b.在实例上调用指定的方法
    c.销毁这个实例
    2)基本包装类型的实例调用typeof返回"object",从而所有基本包装类型对象都会被转换为布尔类型的true.
    Object构造函数会像工厂方法一些,根据传入的值的类型返回相应基本包装类型的实例
    var obj = new Object(“briup”); //obj 类型为String包装类型
    console.log(obj instanceof String);
    使用new调用基本包装类型的构造函数,与直接调用同名的转换函数不一样
    var s = “11”;
    var s1 = Number(s); //转型函数 number类型
    var s2 = new Number(s); //构造函数 object类型
    3) Boolean,Number,不建议直接使用这两种类型
    4) String
    1.常见函数和属性
    length
    属性,获取字符串的字符数量
    charAt(i)
    返回给定位置的字符
    charCodeAt()
    返回给定位置的字符的字符编码
    var s = “helloworld”;
    s.charAt(1); //e
    s.charCodeAt(1); //101
    concat()
    将一个或多个字符串拼接起来,返回拼接得到的新字符串,但是大多使用"+“拼接
    slice()
    (开始位置,返回字符后一个字符位置)
    substr()
    (开始位置,返回字符个数)
    substring()
    (开始位置,返回字符后一个字符位置)
    var s = “helloworld”;
    s.slice(3,7); //lowo
    s.substr(3,7); //loworld
    s.substring(3,7);//lowo
    s //helloworld 不改变原值大小
    indexOf();
    从前往后查找指定字符所在位置
    lastIndexOf();
    从后往前查找字符串所在位置,可以有第二个参数,代表从字符串中哪个位置开始查找。
    trim();
    删除前置以及后置中的所有空格,返回结果
    var s = " hello world “;
    console.log(”|”+s.trim()+"|"); //|hello world|
    toLowerCase() :转换为小写
    toUpperCase() :转换为大写
    2.Javascript中 String对正则表达式的支持
    search()
    参数为一个正则表达式。如果参数不为正则表达式,则先通过RegExp将其转换为构造函数。不支持全局检索,返回第一个与之匹配的子串的位置,如果找不到匹配的子串,返回-1。
    “JavaScript”.search(/script/i); //返回4
    replace()
    用以执行检索和替换操作。第一个参数是正则表达式,第二个参数是要替换的字符串。
    text.replace(/javascript/gi,“JavaScript”); //不区分大小写将所有javascript转换为JavaScript
    match()
    最常用的正则表达式方法,参数为正则表达式。返回由匹配结果组成的数组。
    当正则表达式中没有g修饰符的时候,就不是全局匹配。这时,数组的第一个元素就为匹配的字符串,剩余的元素则是由正则表达式中用圆括号括起来的子表达式。如果该正则表达式设置为修饰符g,则该方法返回的数组包含字符串中所有匹配结果。
    “1 plus 2 equals 3”.match(/\d+/g) //返回[“1”,“2”,“3”]
    var url = /(\w+):\ /\ /([\w.]+)/(\S*)/;
    var text = “visit my blog at http://www.briup.com/~ee”;
    var result = text.match(url);
    if(result!=null){
    var fullurl = result[0];
    var protocol = result[1];
    var host = result[2];
    var path = result[3];
    }
    split()
    参数可以为正则表达式
    “1, 2, 3, 4, 5”.split(/\s*,\s*/); //[“1”,“2”,“3”,“4”,“5”] 允许分隔符左右两边留有空白

  2. Math对象
    1)常用方法
    1.比较方法
    Math.min() 求一组数中的最小值
    Math.max() 求一组数中的最大值
    Math.min(1,2,19,8,6); //1
    2.将小数值舍入为整数的几个方法:
    Math.ceil() 向上舍入
    Math.floor() 向下舍入
    Math.round() 四舍五入
    console.log(Math.ceil(12.41)); //13
    console.log(Math.floor(12.41)); //12
    console.log(Math.round(12.3)); //12
    console.log(Math.round(12.5)); //13
    3.随机数
    Math.random() 返回大于0小于1的一个随机数
    2)其他方法:(了解即可,即用即查)
    abs(num) 返回num绝对值
    exp(num) 返回Math.E的num次幂
    log(num) 返回num的自然对数
    pow(num,power) 返回num的power次幂
    sqrt(num) 返回num的平方根
    scos(x) 返回x的反余弦值
    asin(x) 返回x的反正弦值
    atan(x) 返回x的反正切值
    atan2(y,x) 返回y/x的反正切值
    cos(x) 返回x的余弦值
    sin(x) 返回x的正弦值
    tan(x) 返回x的正切值

  3. Date对象
    将一个字符串转换为Date对象的写法:
    var str = “2012-12-12”;
    var date = new Date(str);   //字符串转换为Date对象
    document.write(date.getFullYear()); //然后就可以使用Date对象的方法输出年份了
    Date.getDate()
    返回是日期对象中月份中的几号。
    var date = new Date();   //2012-12-19
    document.write(date.getDate()); //返回 19 是19号
    Date.getDay()  
    返回日期中的星期几  星期天0-星期6
    var date = new Date();
    document.write(date.getDay()); //3 星期3

    Date.getFulYead()  
    返回年份 如2012。
    var date = new Date();
    document.write(date.getFullYear());  //返回2012,2012年
    Date.getHours()  
    返回日期中的小时,几点了,0-23
    var date = new Date();
    document.write(date.getHours());  //返回23,晚上11点
    Date.getMilliseconds()  
    返回日期中的毫秒数
    var date = new Date();
    document.write(date.getMilliseconds());  //返回27  当前是xx年,xx月,xx点,xx分,xx秒,xx毫秒的毫秒

    Date.getMinutes()    
    返回日期中的分钟数  0-59
    var date = new Date();
    document.write(date.getMinutes());  //2012-12-19 23:22  返回22,12点22分

    Date.getMonth()   
      返回日期中的月份数,返回值0(1月)-11(12月)
    var date = new Date();
    document.write(date.getMonth());  //2012-12-19  此处返回11,注意此处与通常理解有些偏差,1月份返回是0,12月返回是11

    Date.getSeconds()    
    返回一个日期的描述
    var date = new Date();
    document.write(date.getSeconds());·//返回34,2012-12-19 23:27:34  27分34秒

    Date.getTime()      
    将一个日期对象以毫秒形式返回
    var date = new Date();
    document.write(date.getTime());  //返回1355930928466  返回值是1970-01-01 午夜到当前时间的毫秒数。

    Date.getTimezoneOffset()   
    GMT时间与本地时间差,用分钟表示
    var date = new Date();
    document.write(date.getTimezoneOffset());  //返回-480  实际上这个函数获取的是javascript运行于哪个时区。单位是分钟。

    Date.getUTCDate()    
    返回Date对象中的日期值,(全球时间)
    var date = new Date();
    document.write(date.getUTCDate());  //返回19  19号

    Date.getUTCDay()    
    返回Date对象中的星期几,(全球时间)
    var date = new Date();
    document.write(date.getUTCDay());  //返回3  星期3

    Date.getUTCFullYear()  
    返回Date中的年份,4位,如2012,(全球时间)
    var date = new Date();
    document.write(date.getUTCFullYear());  //返回2012

    Date.getUTCHours()  
    返回Date对象中的小时数,就是现在是几点,终于有一个跟getHours()不同了,应该是时差关系,返回的是全球时间里的。
    var date = new Date();
    document.write(date.getUTCHours());  //现在北京时间是2012-12-19 23:44,但是返回的是15,也就是全球时间中的小时数。

    Date.getUTCMilliserconds()  
    返回Date对象中的毫秒数,(全球时间)
    var date = new Date();
    document.write(date.getMilliseconds());  //返回全球时间中的毫秒数

    Date.getUTCMinutes()    
    返回Date对象中的分钟数,(全球时间)
    var date = new Date();
    document.write(date.getMinutes());  //2012-12-19 23:49  返回49,注意是全球时间,其实全球时间应该就小时不同而已吧。

    Date.getUTCMonth()    
    返回Date对象中月份值,(全球时间)
    var date = new Date();
    document.write(date.getMonth());  //2012-12-19  返回11,0(1月份)-11(12月份)

    Date.getUTCSeconds()    
    返回Date对象中的秒数值
    var date = new Date();
    document.write(date.getSeconds());  //返回秒数值 返回33

    Date.getYear()    
    返回Date对象中的年份值减去1900
    var date = new Date();
    document.write(date.getYear());  //2012-12-19  返回112 (2012-1900)

    Date.now()    
    静态方法  //返回1970-01-01午夜到现在的时间间隔,用毫秒表述
        document.write(Date.now());  //静态方法,返回当前时间与1970-01-01的时间间隔,毫秒单位。

    Date.parse()    
    解析一个日期时间字符串,返回1970-01-01午夜到给定日期之间的毫秒数
    var date = “2012-12-19”;
    document.write(Date.parse(date));  //返回  1355875200000
    var da = new Date(date);
    document.write("
    " + da.getFullYear() + “-” + da.getMonth() + “-” + da.getDate());  //输出2012-11-19  //注意月份是从0-11
    Date.setDate()  
    设置一个Date对象中的日期值,返回值用调整后的日期的毫秒表示
    var date = new Date();
    document.write(date.setDate(11));  
        var da = new Date(date);
    document.write("
    " + da.getFullYear() + “-” + da.getMonth() + “-” + da.getDate()); //输出2012-11-11  //注意月份是从0-11,设置的时候要注意

    Date.setFullYear()  
    设置一个Date对象中的年份,返回值用调整后的日期的毫秒表示。
    var date = new Date();  今天是2012-12-20
    document.write(date.setFullYear(1989)); //返回630167981030
    var da = new Date(date);
    document.write("
    " + da.getFullYear() + “-” + da.getMonth() + “-” + da.getDate()); //输出1989-11-20

    Date.setHours()  /
    设置一个Date对象中的小事数,返回值用调整后的日期的毫秒表示。
    var date = new Date(); //现在是2012-12-52 22:52
    document.write(date.setHours(5)); //返回1355954000882
    var da = new Date(date);
    document.write("
    " + da.getHours()); //输出05
    Date.setMilliseconds()  
    设置一个日期的毫秒数
    var date = new Date(); //现在是2012-12-20
    document.write(date.setMilliseconds(22)); //返回1356015393022    注意最后两位,无论如何刷新都是22
    Date.setMinutes()    
    设置一个日期的分钟数
    var date = new Date(); //现在是2012-12-52 22:52
    document.write(date.setMinutes(1)); //返回1356012067105
    var da = new Date(date);
    document.write("
    " + da.getMinutes()); //输出1
    Date.setMonth()      
    设置一个日期的月份数
    var date = new Date(); //现在是2012-12-20
    document.write(date.setMonth(2)); //返回1332255597722
    var da = new Date(date);
    document.write("
    " + da.getMonth()); //输出2
    Date.setSeconds()      
    设置一个日期的描述
        语法:
    date.setSeconds(seconds)
          date.setSeconds(seconds,millis)
    var date = new Date(); //现在是2012-12-20
    document.write(date.setSeconds(3)); //返回1356015783872
    var da = new Date(date);
    document.write("
    " + da.getSeconds()); //输出3

    Date.setTime()        
    使用毫秒数设置一个时间
    var date = new Date(); //现在是2012-12-20
    document.write(date.setTime(1356015783872)); //返回1356015783872
    var da = new Date(date);
    document.write("
    " + da.getDate()); //输出20
    Date.setUTCDate()        
    设置一个Date对象中对应月的日期值,就是几号(全球时间)
        语法:
    date.setUTCDate(day-of-month)
    var date = new Date(); //现在是2012-12-20
    document.write(date.setUTCDate(12)); //返回1355324952003
    var da = new Date(date);
    document.write("
    " + da.getDate()); //输出12

    Date.setUTCFullYear()     
    设置一个Date对象中对应的年份,全球时间
        语法:
    date.setUTCFullYear(year)
          date.setUTCFullYear(year,month)
        date.setUTCFullYear(year,month,day)
    var date = new Date();
    document.write(date.setUTCFullYear(1999));
    var da = new Date(date);
    document.write("
    " + da.getFullYear()); //输出1999

    Date.setUTCHours()      
    设置一个Date对象中对应的小时数,(全球时间)
          语法:
    date.setUTCHours(hours)
           date.setUTCHours(hours,minutes)
            date.setUTCHours(hours,minutes,seconds)
            date.setUTCHours(hours,minutes,seconds,millis)
    var date = new Date();
    document.write(date.setUTCHours(05));
    var da = new Date(date);
    document.write("
    " + da.getUTCHours());

    Date.setUTCMilliseconds()  
    设置一个Date对象中对应的毫秒数,(全球时间)
    var date = new Date();
    document.write(date.setMilliseconds(05)); //注意此处无论如何刷新都是05结尾

    Date.setUTCMinutes()    
    设置一个Date对象的分钟、秒钟、以及毫秒值。
        语法:
    date.setUTCMinutes(minutes)
    date.setUTCMinutes(minutes,seconds)
    date.setUTCMinutes(minutes,seconds,millis)
    var date = new Date(); //现在是2012-12-20
    document.write(date.setUTCMinutes(25)); //返回1356017146549
    var da = new Date(date);
    document.write("
    " + da.getUTCMinutes()); //输出5

    Date.setUTCMonth()    
    设置一个Date对象的月份值及日期值
    var date = new Date(); //现在是2012-12-20
    document.write(date.setMonth(01)); //返回1329751527983
    var da = new Date(date);
    document.write("
    " + da.getUTCMonth()); //输出1

    Date.setUTCSeconds()  
    设置一个Date的秒钟及毫秒值
    var date = new Date(); //现在是2012-12-20
    document.write(date.setUTCSeconds(01)); //返回1356017281976
    var da = new Date(date);
    document.write("
    " + da.getUTCSeconds()); //输出1

    Date.setYears()      
    设置一个Date对象的年份值,如果给的参数在0-99之间,它将会加上1900以便把它当中1900-1999之间的年份处理。如果输入4位数,则把它当成FullYear设置
    var date = new Date(); //现在是2012-12-20
    document.write(date.setYear(22)); //返回1356017281976
    var da = new Date(date);
    document.write("
    " + da.getFullYear()); //输出1922

     var date = new Date();				//现在是2012-12-20
     document.write(date.setYear(2011)); //返回1324395113386
     var da = new Date(date);
     document.write("<br/>" + da.getFullYear()); //输出2011
    

    Date.toDateString()    
    以字符串的形式返回一个Date的日期部分
    var date = new Date();
    document.write(date.toDateString(“yyyy-MM-dd”));

    Date.toTimeString()    
    以字符串的形式返回一个Date的时间部分
    var date = new Date();
    document.write(date.toTimeString(“yyyy-MM-dd”));

    Date.toISOString()    
    将一个Date对象转换为ISO-8601格式的字符串,返回的字符串格式为yyyy-mm-ddThh:mm:ssZ
    var date = new Date();
    document.write(date.toISOString());

    Date.toJSON       
    //JSON序列化一个对象
    var date = new Date();
    document.write(date.toJSON());

    Date.toLocaleDateString()  
    以本地格式的字符串返回一个Date的日期部分,返回一个本地人可读的日期格式,日期部分
    var date = new Date();
    document.write(date.toLocaleDateString());

    Date.toLocaleString()    
    将一个Date转化难为一个本地格式的字符串
    var date = new Date();
    document.write(date.toLocaleString());

    Date.toLocaleTimeString()    
    将一个Date转化为本地的格式的时间部分
    var date = new Date();
    document.write(date.toLocaleTimeString());

    Date.toString()          
    将一个Date转换为一个字符串
    var date = new Date(); //现在是2012-12-22
    document.write(date.toString());//返回Sat Dec 22 2012 19:59:17 GMT+0800

    Date.toTimeString()       
    以字符串的形式返回一个Date对象的时间部分
    var date = new Date();
    document.write(date.toString());
    Date.toUTCString()       
    将一个Date对象转换为字符串(全球时间)
    var date = new Date();
    document.write(date.toUTCString());

    Date.UTC()           
    将一个Date对象转换毫秒的形式  静态方法
    语法:Date.UTC(year,month,day,hours,minutes,seconds,ms)
        document.write(Date.UTC(2011, 11, 11, 11, 11, 11));

    Date.valueOf()         
    如果是一个Date对象,将一个Date对象转为毫秒的形式,否则不显示
    var date = “”;
    document.write(date.valueOf()); //不是Date对象,不输出
    var date1 = new Date();
    document.write(date1.valueOf()); //输出1356180400916

note

正则表达式
声明
构造函数
new RegExp(’\w\d\s’,‘img’)
字面量
/\w\d\s.//img
属性
global 是否有g修饰,是否是全局匹配
multiline 是否有m修饰,是否多行匹配
ignoreCase 是否有i修饰,是否忽略大小写匹配
lastIndex 下一次开始检索的位置。如果有g,会维护。如果没有g,就是0
source 正则表达式文本
方法
test(str) 检测字符串中是否有符合正则表达式规则的子串,如果有返回true,否则返回false。
exec(str) 查找一次子串,返回数组,数组0号位置是子串,有input、index属性。如果没有找到,返回null
String对正则表达式的支持
str.search(pattern) 检测字符串中是否有符合正则表达式规则的子串,如果有,返回第一个子串的位置,如果没有返回-1。
str.match(pattern) g修饰的,获取匹配到的子串组成的数组或者null。如果没有g修饰,跟exec()方法是一样的。
str.replace(pattern,‘替换的字符串’) 使用替换的字符串替换正则表达式匹配到的子串。
str.split(pattern) 将字符串转成数组,按照固定规则去裁切字符串。返回数组。
‘1001-1002-1003’
str.split(’-’);
‘1001&1002&1003’
str.split(’&’);
‘1001|1002|1003’
str.split(’|’);
‘1001 1002 1003’
str.split(’ ');
正则表达式的字符类
直接量 abc123…
. 代表任意字符,如果想要一个.字符,那么加转义字符.
\d [0-9]
\D [^0-9]
\w [a-zA-Z0-9_]
\W [^a-zA-Z0-9_]
\s 空格,换行,分页…
\S 非空格,换行,分页…
\t 水平制表符
\r 回车符
\n 换行符
\v 垂直制表符
\f 换页符
字符集合
[abc] [a-z] 字符组,从字符集合中选择一个匹配
[^abc] [^a-z] 反义字符组,除了这些字符之外的其他字符
字符选择
a|b
匹配a或者b
字符分组
字符分组用()包裹,可以被\n反向引用
(\d)(\w)\1\2
5a5a
4b4b
边界字符
^ 开始
$ 结束
/^123KaTeX parse error: Undefined control sequence: \d at position 13: /img /^1\̲d̲{10}/img
数量词
数量词在模式后面使用
正则表达式文本组成
分界字符 模式和次数 模式和次数 模式和次数 模式和次数…分界字符
/abc/ /\d\w\s/
/\s*,\s*/ /\d{10}/
/\d+/
* 匹配前面的模式0次或者多次 /\s*,\s*/
+ 匹配前面的模式1次或者多次 /\d+/
? 匹配前面的模式0次或者1次 /\d?/
{n} 前面的模式出现n次时匹配 /ab{3}/
{n,} 前面的模式至少出现n次时匹配 /ab{3,}/
{n,m} 前面的模式至少出现n次,至多出现m次时匹配 /ab{3,5}/ abbbbbabbbbabbb

正则表达式匹配次数后加?,代表非贪婪匹配。默认是贪婪匹配。

内置对象
基本包装器 Number() String() Boolean()
String包装器属性和方法
length
charAt(index) 获取索引位置的字符
charCodeAt(index) 获取索引位置的字符编码
indexOf(‘a’) 从前往后查找字符在字符串中的位置,返回索引或者-1
lastIndexOf(‘a’) 从后往前查找字符在字符串中的位置,返回索引或者-1
concat(‘hello’) 连接字符串
slice(开始位置,结束位置) 截取字符串
substring(开始位置,结束位置) 截取字符串
substr(开始位置,截取项数) 截取字符串
toLowercase() 转换成小写
toUppercase() 转换成大写
trim() 去除前置和后置空格
Math对象
Math.min(2,3,4) 获取一组数据中的最小值
Math.max(2,3,4) 获取一组数据中的最大值
Math.ceil(3.4) 向上取整
Math.floor(3.4) 向下取整
Math.round(3.4) 四舍五入取整
Math.random() 获取[0,1)之间的一个随机数,返回小数
Date构造函数 时间

发布了40 篇原创文章 · 获赞 1 · 访问量 705

猜你喜欢

转载自blog.csdn.net/hanmiao12345/article/details/105642360