js基本知识点以及相关内容的测试——包装器函数和Math对象

1.包装器函数

       1)new Number()
              Number.prototype.XXX
       2)new String()
              String.prototype.XXX
       3)new Boolean()
              Boolean.prototype.XXX

代码测试:

1)new String( )

         由下图可知,str.length输出number值5,但是只有引用数据类型才能调用length,而str是基本数据类型,它此时居然调用成功了。

         var str="hello";       //声明了一个基本数据类型string类型的str变量
         console.log(str.length);

         str在调用length属性时相当于计算机底层默认做了以下操作:

            1>将str转换为引用数据类型

                    new String(str)              //str是string类型,默认调用String类型的包装器,将参数str传进来,转换为引用数据类型
                    object String                 //返回值是一个字符串类型的实例对象类似object中的Array,相当于object中的String
                    自动装箱


             2>调用length  
                    new String(str).length
             3>将str转换回string类型
                    自动拆箱

调用length时是引用数据类型,调用完后,自动变回string基本类型

2)new Number( )

代码测试:

        由下图可知,num.toString( )输出string类型的num10,但是只有引用数据类型才能调用toString( ),而num是基本数据类型,它此时居然调用成功了。


          var num=10;   //number
          console.log(num.toString());
          1>调用Number类型的包装器函数,自动装箱

               new Number(10);          
          2>通过实例对象调用toString( )

               new Number(10.toString())
          3>自动拆箱

               10   //number //自动拆箱

注意:

        new Number():包装器函数
            var a=new Number();          //a是object类型,属引用数据类型
        Number():转换函数
            var num=10;                         //num是number类型

        String.prototype.XXX
            length:返回字符串长度
              var str="hello";
              ["h","e","l","l","o"]     //计算机底层,字符串长度即为此类数组长度

字符串操作函数:
        charAt(index):参数为index,返回值为index位置的字符

       

      
        charCodeAt(index):参数为index,返回值为index位置字符的对应ASCII码。

       

       
        concat():字符串拼接,相当于+""

       

       

        

       
        slice():字符串截取
              0:返回一个原字符串的复制字符串
              1:index
                从index位置开始截取,到字符串末尾结束
              2:begin end
                从begin位置开始截取,到end位置结束,不包含末尾
                -1:最后一个字符

        -------------参数个数为0----------

       

       

       --------------参数个数为1-------------

       

       

      -----------------参数个数为2-----------------

     

     
        stustr( ):字符串截取
              0:返回一个原字符串的复制字符串
              1:index
                  从index位置开始截取,到字符串末尾结束
              2:begin num
                  从begin位置开始截取,截取num个字符

         --------------参数个数为0-------------

        

        

         -----------------参数个数为1----------------

        

        

         ---------------------参数个数为2--------------------

        

        
         stustring( ):
              0:返回一个原字符串的复制字符串
              1:index
                从index位置开始截取,到字符串末尾结束
              2:begin end
                从begin位置开始截取,到end位置结束,不包含end
                当end为负数,改变截取方向,从begin开始截取,截取至index=0,不包含begin位置的字符。

         -----------------参数个数为0-------------------

        

       

         -----------------参数个数为1----------------------

        

        

        -------------------参数个数为2-------------------

       

        

       

       
         indexOf():    查找字符串,类似数组,从前往后查找,两个参数,第一个参数是所要查找的字符串,第二个参数为开始位置的下标。找到返回值为查找到的字符串对应下标,找不到返回-1,找到一个即返回,不再继续查找。
         lastIndexOf():   查找字符串,类似数组,从后往前查找,两个参数,第一个参数是所要查找的字符串,第二个参数为开始位置的下标。找到返回值为查找到的字符串对应下标,找不到返回-1,找到一个即返回,不再继续查找。
         trim():   去掉字符串的前后空格,没有参数

        

        
         toLowerCase():将字符串转化为小写

        

        
         toUpperCase():将字符串转化为大写

        

        

字符串操作函数(与正则相关):
        search():   搜索字符串
              参数为字符串或正则表达式
              找到返回下标,找不到返回-1,只找一个

        --------------- 找到-------------

       

       

        --------------找不到-------------

       

      

        -------------------只找一个------------------

      

      
         replace(匹配字符串,插入的值):   替换字符串   只查找并替换一个
              参数为字符串或正则表达式

        

        
        match():   匹配字符串
              参数为字符串或正则表达式
              匹配成功,返回一个匹配成功的字符串组成的数组,匹配失败,返回null,只找一个,匹配结果放在一个数组中。

        --------------------------找到--匹配字符串-----------------------

       

       

        ---------------------------找到--匹配字符-----------------------

       

       

       ---------------------------找不到----------------------------

      

      
        split():   找到分割字符,按找到的分割字符分割字符串,将分割后的字符组成一个数组

        ----------------不设参数------------返回值为字符串组成的数组

       

       

       ------------------设参数--“" "---------------返回值为将每一个字符当作一个数组元素进行分割后组成的数组

      

      

      -------------------设参数---"-"------------------

     

     

2.Math对象

       比较:
            Math.min():返回一组数中的最小值

            Math.max():返回一组数中的最大值

          

          
          取整:
            Math.ceil():向上取值

           

           

           

           
            Math.floor():向下取整

           

           

           

           
            Math.round():四舍五入

           

           

           

           
          随机数:
            Math.random():返回0到1之间的随机数,但不包含1

、       --------------不设参数-------------

          

         

          

            --------------取1~10之间的随机数-------------

           

-----------------------例子:前世今生--------------------------

1)  创建一个数组,每个数组元素内存放对象,每个对象具有属性姓和名,相当于存在数据库中的古人的姓和名

2)  在前台获取数据库中的内容,拿数据库中的数据和用户输入的数据进行匹配,用prompt( )拿到前台输入内容,prompt( )返回值为前台输入内容。

  

3)声明一个变量result存放prompt( )返回值

4)用slice( )/substr( )/substring( )将获取到的前台数据切割为姓和名

5)   将拿到的姓和数组中的firstname进行匹配,匹配成功后拿到当前对象的lastname,拿到lastname之后,将firstname和lastname中任意一个结合起来,用random任意选,lastname在选取时,根据下标选,random范围在0~4且取整

6)将匹配到的firstname和随机抽取出的lastname进行数字符串拼接,输出拼接结果即为前世姓名。

-------------------------------前世今生--------------------------------

    取绝对值:Math.abs( )

   

   

   

   

   取对数:Math.log( )

    ---------以2为底,4的对数---------

   

   

   三角函数:Math.sin( )/Math.cos( )/Math.tan( )/Math.cot( )

    ----------------Math.sin( )----------------

   sin(Π/2)=1;打不出来Π,结果无限趋近1

   

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值