• JavaScript的内置对象(Global对象)


    内置对象的定义

    由 javaScript 实现提供的、不用自己创建,这些对象在 ECMAScript 程序执行之前就已经存在了。

    意思就是说,开发人员不必显示地实例化内置对象;因为它们已经实例化了。

    JavaScript只定义了两个内置对象:Global和 Math


    Global(全局)对象概述

    javacript 中一个特别的对象,因为这个对象是不存在的。在JavaScript中不属于任何其他对象的属性和方法,都属于它的属性和方法。

    所以,事实上,并不存在全局变量和全局函数;所有在全局作用域定义的变量和函数,都是 Global 对象的属性和方法。

    因为 JavaScript没有定义怎么调用 Global 对象,所以,Global.属性或者 Global.方法()都是无效的。(Web 浏览器将 Global 作为 window 对象的一部分加以实现)

    var box = 100;
    //alert(Global.box);//会报错
    alert(window.box);  //可以使用window来调用

    Global 对象的方法_编码

    URI 编码可以对链接进行编码,以便发送给浏览器。它们采用特殊的 UTF-8 编码替换所有无效字符,从而让浏览器能够接受和理解。

    不会对本身属于 URI 的特殊字符进行编码,例如冒号、正斜杠、问号和#号

    URI 编码方法—encodeURI()和encodeURIComponent()

    encodeURIComponent()会对它发现的任何非标准字符进行编码

    因为 encodeURIComponent()编码比 encodeURI()编码来的更加彻底,一般来说encodeURIComponent()使用频率要高一些。

    var box = '//Lee 李';
    console.log(encodeURI(box)); //只编码了中文,结果是这样//Lee%20%E6%9D%8E
    
    var box = '//Lee 李';
    console.log(encodeURIComponent(box)); //特殊字符和中文编码了,结果是这样%2F%2FLee%20%E6%9D%8E

    Global 对象的方法_解码

    使用了 URI 编码过后,还可以进行解码

    URI解码方法—decodeURI()和decodeURIComponent()

    var box = '//Lee 李';
    box1 = encodeURI(box); //编码
    console.log(box1);
    console.log(decodeURI(box1));//解码
    
    var box2 = '//Lee 李';
    box2 = encodeURIComponent(box); //编码
    console.log(box2);
    console.log(decodeURIComponent(box2)); //解码

    Global 对象的方法_eval()

    主要担当一个字符串解析器的作用,他只接受一个参数,而这个参数就是要执行的 JavaScript 代码的字符串。(即可以解析javascript代码)

    eval()方法的功能非常强大,但也非常危险。因此使用的时候必须极为谨慎。特别是在用户输入数据的情况下,非常有可能导致程序的安全性,比如代码注入等等。

    eval('var box = 100');     //解析了字符串代码
    console.log(box);                //100
    eval('console.log(100)'); //同上
    
    
    eval('function box() {return 123}'); //函数也可以
    console.log(box()); //调用这个函数结果是123

     

    Global 对象的方法_parseInt(),parseFloat

    返回由字符串转换得到的整数

    parseFloat()方法和parseInt()方法类似

    var str = "123";
    //从头开始解析,直到不能被解析为止
    console.log(parseInt(str));//123
    console.log(parseInt("100"));//100
    console.log(parseInt("100abc"));//100
    console.log(parseInt("abc100"));//NaN
    console.log(parseInt("100abc0"));//100
    
    //将第一个参数按第二个参数转换,第二个参数是进制数,如2进制8进制16进制
    console.log(parseInt("100",2));//4

    Global 对象的方法_isNaN

    返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。 

    如果值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false 。

    使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的返回值。 

    console.log(isNaN(100));//false
    console.log(isNaN("jaav"));   //true
    console.log(isNaN(NaN));//true
    console.log(isNaN(parseInt("123lee")));//parseInt("123lee")的结果是123,所以isNaN(123)为false
    console.log(isNaN(parseInt("lee123")));//parseInt("lee123")的结果是NaN,所以isNaN(NaN)为true

    Global 对象属性

    Global 对象包含了一些属性:undefined、NaN、Object、Array、Function 等等。

    console.log(Array); //返回构造函数:[Function: Array]
    console.log(undefined); //undefined
    console.log(Object); // [Function: Object]

    window 对象

    Global 没有办法直接访问,而 Web 浏览器可以使用 window 对象来实现一全局访问。

    alert(window.Array); //返回构造函数
  • 相关阅读:
    矩阵相关计算-基础
    列表-元祖-字典
    Python制作NTF传递函数工况文件和后处理文件
    C++栈和堆的生长方向
    malloc/free与new/delete的区别
    C++中4个类型转换相关的关键字/特点/应用场合
    Python 拾遗
    Python 常用库
    Python 视频转字符动画
    Python 命令行(CLI)基础库
  • 原文地址:https://www.cnblogs.com/LO-ME/p/10687073.html
Copyright © 2020-2023  润新知