zoukankan      html  css  js  c++  java
  • Javascript高级编程学习笔记(18)—— 引用类型(7)单体内置对象

    什么是内置对象呢?

    js高级程序设计中给出的定义为:由ES规定不依赖于宿主环境的对象,这些对象在JS执行前就已经存在

    前面我们介绍的引用类型都是内置对象

    除了这些对象外ECMA还规定了两个单体内置对象:1.Global 2.Math

    Global对象

    Global对象十分特别,从某种意义上来说他是一个背锅侠

    因为凡是不属于任何对象的属性和方法最后都将成为Global对象的属性和方法

    也就是说在JS中凡是全局变量和全局方法实际上都是Global对象的属性和方法(包括isFinite等方法也是)

    Global对象的方法:

    1.encodeURI、decodeURI

    2.encodeURIComponent、decodeURIComponent

    上面的方法都用于URI的编码,其区别在于encodeURI只会替换非URI编码的字符,而另一种方法会对非字母的字符进行编码

    所以一般来说使用encodeURIComponent、decodeURIComponent更多,因为encodeURI编码的用它可以解码但反过来不行

    3.eval() 这应该是JS最强大,但也是最危险的地方,它相当于一个解析器,可以将传入的JS代码解析并执行,所以使用时要十分小心(Xss攻击)

    Global对象的属性

    1、undefined 特殊值undefined

    2、NaN  特殊值NaN

    3、Infinity 特殊值Infinity

    4、Object 构造函数Object

    5、Array 构造函数Array

    6、Function 构造函数 Function

    7、Boolean 构造函数 Boolean

    8、String 构造函数 String

    9、Number 构造函数 Numebr

    10、Date 构造函数 Date

    11、RegExp 构造函数 RegExp

    12、Error 构造函数 Error

    13、EvalError 构造函数 EvalError

    14、RangeError 构造函数 RangeError

    15、ReferenceError 构造函数 ReferenceError

    16、SyntaxError 构造函数 SyntaxError

    17、TypeError 构造函数 TypeError

    18、URIError 构造函数 URIError

    PS. 严禁给NaN Infinity undefined 赋值

    访问Global对象:

    虽然Global对象存在,但是ES并没有指出如何访问Global对象

    但是在浏览器环境中,浏览器供应商都是把Global对象作为Window 对象的一部分实现的

    因此在浏览器环境下,全局环境中声明的变量和方法就成为了Window对象的一部分实现的

    获取Global对象

    在没有明确指定this指向的时候,this会指向Global对象

    var global = function(){
        return this;
    }();

     

    Math对象

    除了Global之外Es中的另外一个单体内置对象就是Math

    Math 对象为保存数学公式及信息提供了公共位置,与我们自己调用JS来编写的Math中的方法相比,Math中的方法要快的多,因为其实现并非是用JS实现的

    Math对象的属性:

    1、Math.E 常量e的值

    2、Math.LN10 10的自然对数

    3、Math.LN2  2的自然对数

    4、Math.LOG2E  以2为底e的对数

    5、Math.LOG10E 以10为底e的对数

    6、Math.PI   圆周率

    7、Math.SQRT1_2 根号二分之一

    8、Math.SQRT2 根号2

    Math对象的方法:

    1、min 返回传入的所有参数中最小的

    2、max 返回传入的所有参数中最大的

    3、ceil 将传入的值向上舍入

    4、floor 将传入的值向下舍入

    5、round 将传入的值四舍五入

    6、random 返回一个 [0,1)的随机数

    7、abs 返回参数的绝对值

    8、exp 返回e的N次幂

    9、log 返回e的自然对数

    10、pow(num,x)返回num的x次幂

    11、sqrt 返回传入值的平方根

    12、acos 返回传入的arccos

    13、asin 返回传入值的arcsin

    14、atan 返回传入值的arctan

    15、atan2(x,y) 返回arctan y/x

    16、cos 返回传入值的cos

    17、sin 返回传入值的sin

    18、tan 返回传入值的tan

    到此为止JS中的引用类型就介绍完了,明天开始更对象相关的东西

  • 相关阅读:
    IP地址和进制转换
    Cisco交换机常见配置
    macOS上的autoreconf错误导致无法安装问题
    LG P5147 随机数生成器
    LG P1879 [USACO06NOV]Corn Fields G
    LG P5017 [NOIP2018]摆渡车
    mysql触发器trigger详解
    MybatisPuls中QueryWrapper的select、update的用法
    @Transactional各属性详解
    Linux如何查看进程、杀死进程、启动进程等常用命令(包括常用的命令,如查看文件,修改文件读写权限、寻找文件等)
  • 原文地址:https://www.cnblogs.com/lhyxq/p/10154648.html
Copyright © 2011-2022 走看看