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中的引用类型就介绍完了,明天开始更对象相关的东西
Javascript高级编程学习笔记(18)—— 引用类型(7)单体内置对象的更多相关文章
- JavaScript高级编程———基本包装类型String和单体内置对象Math
JavaScript高级编程———基本包装类型和单体内置对象 <script> var stringObject = new String("hello world") ...
- Javascript高级编程学习笔记(35)—— DOM(1)节点
DOM JS由三部分组成 1.BOM 2.DOM 3.ECMAScript ES和BOM在前面的文章已经介绍过了 今天开始JS组成的最后一部分DOM(文档对象模型) 我们知道,JS中的这三个部分实际上 ...
- Javascript高级编程学习笔记(12)—— 引用类型(1)Object类型
前面的文章中我们知道JS中的值分为两种类型 基础类型的值和引用类型的值 基础类型的值我已经大概介绍了一下,今天开始后面几天我会为大家介绍一下引用类型的值 Object类型 对象是引用类型的值的实例,在 ...
- Javascript高级编程学习笔记(15)—— 引用类型(4)RegExp类型
JS中处理字符串最常用的应该就是正则了 同样正则(RegExp)类型也是JS中引用类型的一种 ECMAScript通过 RegExp类型 来支持正则表达式 创建正则 var expression = ...
- Javascript高级编程学习笔记(17)—— 引用类型(6)基本包装类
基本包装类 基本包装类这个概念或许有的小伙伴没有听说过 但是小伙伴们有没有想过,为什么基本数据类型的实例也有方法呢? 其实这些方法都来自基本包装类型 这是JS为了方便操作基础数据类型而创建的特殊引用类 ...
- Javascript高级编程学习笔记(16)—— 引用类型(5) Function类型
JS中许多有趣的地方都和函数脱不了联系 那么是什么让JS中的函数这么有趣呢? 我们一起来看看吧 Function类型 在JS中函数实际上就是对象,每个函数都是Function类型的实例,和JS的其他引 ...
- Javascript高级编程学习笔记(14)—— 引用类型(3)Date类型
除了前两天介绍的Object.Array类型,Date应该就是JS中最常用的引用类型了 先介绍一下Date类型,该类型使用在Java的 java.until.Date 类的基础上构建的 使用UTC 1 ...
- Javascript高级编程学习笔记(13)—— 引用类型(2)Array类型
除了Object类型之外ECMA中最常用的引用类型可能就是Array类型了 并且ECMA中的数组类型和其他大多数编程语言的数组类型存在着很大的区别 今天就介绍一下JS中的Array的特别之处 区别 1 ...
- Javascript高级编程学习笔记(23)—— 函数表达式(1)递归
前面的文章中,我在介绍JS中引用类型的时候提过,JS中函数有两种定义方式 第一种是声明函数,即使用function关键字来声明 第二种就是使用函数表达式,将函数以表达式的形式赋值给一个变量,这个变量就 ...
随机推荐
- spring与disruptor集成的简单示例[z]
[z]https://www.jb51.net/article/135475.htm disruptor不过多介绍了,描述下当前的业务场景,两个应用A,B,应用 A 向应用 B 传递数据 . 数据传送 ...
- unity接入谷歌ADMob注意事项
应用不显示广告,可能是广告sdk 依赖项没有注册 dependencies { implementation fileTree(dir: 'bin', include: ['*.jar']) impl ...
- Centos7 出现Welcome to emergency mode!
做mount挂载时,修改了 /etc/fstab 文件,导致Centos7重启时出现如下图所示错误: Welcome to emergency mode! After logging in, typ ...
- CentOSmini安装gcc8.2
一. 如果遇到类似问题: configure: error: in `/usr/local/src/gcc-8.2.0/temp': configure: error: no acceptable C ...
- 数据统计 任务的一点感想 , sql 使用中的坑。
需求: 多张表(个数不定,需求不是非常明确,只有一个大致需求)根据业务需求统计出一些数据 (按天统计,数据有多条校验规则)进行上传. 注意: 校验数据是否正确是需要第三放来反馈的,而且第三方的测试环境 ...
- sqlserver存储过程分页记录
USE [HK_ERP]GO/****** Object: StoredProcedure [dbo].[GetPageBillsByShopID] Script Date: 2018/10/30 1 ...
- 2019.03.28 bzoj3598: [Scoi2014]方伯伯的商场之旅(带权中位数+数位dp)
传送门 题意咕咕咕自己读吧挺简单的 思路: 由带权中位数的性质可以得到对于每个数放在每个二进制位的代价一定是个单调或者单峰函数,因此我们先把所有的数都挪到第一个位置,然后依次向右枚举峰点(极值点)把能 ...
- IDEA springboot 项目静态文件修改不更新的问题
springboot 项目的页面和静态文件,在项目启动后,修改无效.按照下面的配置可以解决问题. 1.file-setting 勾选项目自动构建 2.使用快捷键 ctrl+ shift+ alt + ...
- Codeforces Round #548 (Div. 2) F splay(新坑) + 思维
https://codeforces.com/contest/1139/problem/F 题意 有m个人,n道菜,每道菜有\(p_i\),\(s_i\),\(b_i\),每个人有\(inc_j\), ...
- Maven学习笔记5:Maven属性、profile和资源过滤
Maven的六类属性 内置属性 主要有两个常用内置属性:${basedir}项目的根目录(包含pom.xml文件的目录),${version}项目版本 POM属性 用户可以使用该属性引用POM文件中对 ...