JavaScript--基本包装类型+Math对象

1. 基本包装类型
 1)为了便于操作基本类型值,ECMAScript提供了3个特殊的引用类Boolean, Number, String
       每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型对象,从而可以使我们调用一些方法操作这些数据。
     var s = "matty";
     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(); 
    从前往后查找指定字符所在位置,返回找到符合字符的第一个位置,找不到,则返回-1
   lastIndexOf(); 
    从后往前查找字符串所在位置,可以有第二个参数,代表从字符串中哪个位置开始查找。

  var str = "hellowroldtoday";

  console.log(str.indexOf("j"));     //4
    console.log(str.lastIndexOf("o"));      //11
   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的正切值

posted @ 2016-10-19 22:06  路人胡  阅读(173)  评论(0编辑  收藏  举报