JS 内置对象

内置对象的定义:有ECMAScript实现提供的、不依赖与宿主环境的对象,在ECMAScript运行之前就已经创建好的对象就叫做内置对象。

                      就是说,是不需要我们开发人员先是的实例化对象就能够调用和运行的对象。 在ECM-262中只是定义了两个内置对象 Global和Math对象

一、Global对象(单体对象)

         Global(全局)对象是在ECMAScript中是一个特别的对象,因为这个对象是不存在的。在ECMAScript 中任何不属于其他对象的方法和属性都是这个对象的方法和属性。

 1、Global对象的 编码/解码方法

 window.onload=function(){
          var url="http://www.baidu.com";
          //  编码encode 
          //该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
          var encode=encodeURI(url);//http://www.baidu.com 
          //完全编码,它会将发现的URI中所有的非标准字符进行编码
          var encodeComponent=encodeURIComponent(url);//http%3A%2F%2Fwww.baidu.com

         //解码
        //decodeURI(): 用来解码由编码方法 encodeURI()编码的URI         
        var decode=decodeURI(encode);//http://www.baidu.com
        //decodeURIComponent(): 用来解码由编码方法 encodeURIComponent() 编码的URI    
        var decodeComponent=decodeURIComponent(encodeComponent);//http://www.baidu.com

      }

2.Global对象的eval()方法

/*
             eval()方法是用来担当一个字符串解析器的作用,只是接收一个参数,
       而这个参数中就是要执行的JS代码,多余的参数会忽略的,此方法可能有返回值也可能没,
       要根据参数中的JS代码而定,在AJAX中传递参数的时候很有用 
       注意:
             eval() 方法虽然很好用,功能很强大,但是也是很危险的方法,因此在使用的时候应该谨慎使用。
         特别是在用户输入数据的时候,很可能会导致程序的安全性问题,比如代码注入等等
     */
      window.onload=function(){
          //作为js解析器
        var box="alert('作为js解析器')";
        eval(box); //弹出 作为js解析器
        alert(eval(box));//先弹出 作为js解析器 然后弹出 undefined 说明此时eval方法没有返回值

       //在eval方法解析某种字面量变量的时候,返回的就是这个字面量的值
         var box="[3,4,5,6]";
         console.info(box); //此时输出的box 就是字符串 [3,4,5,6]
         var evalBox=eval(box);//此时输出的evalBox 就是数组类型  [3, 4, 5, 6]
      }

 3.其他方法

window.onload=function(){
        // parseFloat(numString) 返回由字符串转换得到的浮点数。
        var a=parseFloat("abc");     // 返回 NaN。
        var b=parseFloat("1.2abc");   // 返回 1.2。
        /*
         parseInt(numString, [radix]) 返回由字符串转换得到的整数。
         radix
            可选项。在 2 和 36 之间的表示numString所保存数字的进制的值。
            如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,
            前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。
        */
        var c=parseInt("abc");     // 返回 NaN。
        var d=parseInt("12abc");   // 返回 12。
        /*
        isNaN 检测一个变量是不是一个数 不是一个数返回true,是一个数返回false
        使用这个函数的典型情况是检查parseInt和parseFloat方法的返回值。
        */
        var  flag=isNaN(23123);
        /*
        isFinite(number) 返回一个 Boolean 值,指明所提供的数字是否是有限的。
        如果number不是NaN、负无穷或正无穷,那么isFinite方法将返回true。 如果是这三种情况,函数返回false。
        */
        var flag2=isFinite(23213.3241);
      }

 二、Math 对象(单体对象)

三、Date对象

 

posted @ 2015-09-23 15:17  小禾点点  阅读(537)  评论(0编辑  收藏  举报