什么是内置对象呢?

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中的引用类型就介绍完了,明天开始更对象相关的东西

Javascript高级编程学习笔记(18)—— 引用类型(7)单体内置对象的更多相关文章

  1. JavaScript高级编程———基本包装类型String和单体内置对象Math

    JavaScript高级编程———基本包装类型和单体内置对象 <script> var stringObject = new String("hello world") ...

  2. Javascript高级编程学习笔记(35)—— DOM(1)节点

    DOM JS由三部分组成 1.BOM 2.DOM 3.ECMAScript ES和BOM在前面的文章已经介绍过了 今天开始JS组成的最后一部分DOM(文档对象模型) 我们知道,JS中的这三个部分实际上 ...

  3. Javascript高级编程学习笔记(12)—— 引用类型(1)Object类型

    前面的文章中我们知道JS中的值分为两种类型 基础类型的值和引用类型的值 基础类型的值我已经大概介绍了一下,今天开始后面几天我会为大家介绍一下引用类型的值 Object类型 对象是引用类型的值的实例,在 ...

  4. Javascript高级编程学习笔记(15)—— 引用类型(4)RegExp类型

    JS中处理字符串最常用的应该就是正则了 同样正则(RegExp)类型也是JS中引用类型的一种 ECMAScript通过 RegExp类型 来支持正则表达式 创建正则 var expression = ...

  5. Javascript高级编程学习笔记(17)—— 引用类型(6)基本包装类

    基本包装类 基本包装类这个概念或许有的小伙伴没有听说过 但是小伙伴们有没有想过,为什么基本数据类型的实例也有方法呢? 其实这些方法都来自基本包装类型 这是JS为了方便操作基础数据类型而创建的特殊引用类 ...

  6. Javascript高级编程学习笔记(16)—— 引用类型(5) Function类型

    JS中许多有趣的地方都和函数脱不了联系 那么是什么让JS中的函数这么有趣呢? 我们一起来看看吧 Function类型 在JS中函数实际上就是对象,每个函数都是Function类型的实例,和JS的其他引 ...

  7. Javascript高级编程学习笔记(14)—— 引用类型(3)Date类型

    除了前两天介绍的Object.Array类型,Date应该就是JS中最常用的引用类型了 先介绍一下Date类型,该类型使用在Java的 java.until.Date 类的基础上构建的 使用UTC 1 ...

  8. Javascript高级编程学习笔记(13)—— 引用类型(2)Array类型

    除了Object类型之外ECMA中最常用的引用类型可能就是Array类型了 并且ECMA中的数组类型和其他大多数编程语言的数组类型存在着很大的区别 今天就介绍一下JS中的Array的特别之处 区别 1 ...

  9. Javascript高级编程学习笔记(23)—— 函数表达式(1)递归

    前面的文章中,我在介绍JS中引用类型的时候提过,JS中函数有两种定义方式 第一种是声明函数,即使用function关键字来声明 第二种就是使用函数表达式,将函数以表达式的形式赋值给一个变量,这个变量就 ...

随机推荐

  1. 设计模式之jdk动态代理模式、责任链模式-java实现

    设计模式之JDK动态代理模式.责任链模式 需求场景 当我们的代码中的类随着业务量的增大而不断增大仿佛没有尽头时,我们可以考虑使用动态代理设计模式,代理类的代码量被固定下来,不会随着业务量的增大而增大. ...

  2. log4j 配置日志输出(log4j.properties)

    轉: https://blog.csdn.net/qq_29166327/article/details/80467593 一.入门log4j实例 1.1 下载解压log4j.jar(地址:http: ...

  3. 摹客iDoc的PS插件全新改版!—— 智能检测不对应的设计稿

    一.简洁美观——iDoc的PS插件全新界面 iDoc对PS插件的界面进行了全新设计,无论是登录.上传.还是设置界面,都变得更精致.简洁美观,功能分布也非常明确,是一款轻巧且实用的小插件. 二.同步上传 ...

  4. 六、pyqt5对话框——QInputDialog、QColorDialog、QFontDialog、QMessageBox、QFileDialog

    目录:  一.对话框综合示例 二.QDialog 三.QInputDialog 四.QMessageDialog 五.QFileDialog pyqt5的对话框有多种类型,比如输入对话框(QInput ...

  5. supervisor简要使用说明

    安装方法(之一) pip install supervisor 主要组件 supervisord: 用于控制启用和退出子进程,记录子进程的标准输出和标准错误输出. supervisorctl: she ...

  6. 【微信小程序开发之坑】javascript创建date对象

    最近开发中用到date,开始以如下方式来创建: var date = new Date('2018-01-30 11:00:00'); 在开发工具上,调试,ios 和 android都好好的. 在真机 ...

  7. 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验二 面向对象程序设计 实验报告

    20175316 盛茂淞 2018-2019-2 <Java程序设计>实验二 面向对象程序设计 实验报告 (一)单元测试 在 IDEA中我们把产品代码放在src目录中,把测试代码放在tes ...

  8. web应用/路由控制/视图函数/单表多表操作

    一. 1.wen应用:BS架构的应用程序,B是浏览器,S:server(实现了wsgi协议)+ application https://www.cnblogs.com/liuqingzheng/art ...

  9. JAVA常用集合

    List: ArrayList: 基于动态数组的有序集合.优点:可以根据索引index下标访问List中的元素,访问速度快:缺点是访问和修改中间位置的元素时慢(数组尾部插入元素以外). LinkedL ...

  10. 线程中的join方法

    join方法的作用是同步线程. 1.不使用join方法:当设置多个线程时,在一般情况下(无守护线程,setDeamon=False),多个线程同时启动,主线程执行完,会等待其他子线程执行完,程序才会退 ...