zoukankan      html  css  js  c++  java
  • 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对象

  • 相关阅读:
    问题解决-Plugin with id 'com.github.dcendents.android-maven' not found
    hadoop 04 一 HA高可用配置
    hadoop 03 一 Hadoop机架感知配置
    Windows平台安装配置Hadoop
    hadoop 02一 hadoop配置
    hadoop 01一 hadoop安装配置
    Centos7下载和安装教程
    mysql 命令行导出数据
    RabbitMQ 集群部署(linux-centos6.5)
    Spring 集成RabbitMq
  • 原文地址:https://www.cnblogs.com/jalja/p/4832365.html
Copyright © 2011-2022 走看看