摘要:单体内置对象对单体内置对象的定义是由实现提供的,不依赖于宿主环境的对象,这些对象在程序执行就已经存在了。对象还为保存数学公式和信息提供了一个公共位置,即对象。舍入方法执行向上舍入向下舍入四舍五入方法方法返回一个的随机数。
单体内置对象
ECMA262 对单体内置对象的定义是:“由ECMAScript 实现提供的,不依赖于宿主环境的对象,这些对象在ECMAScript 程序执行就已经存在了。”
Global对象Global(全局)对象是不存在的,它不属于其他任何对象的属性和方法,最终都是它的属性和方法;所有在全局作用域中定义的属性和函数,都是Global的对象的属性。
URI编码方法
encodeURI()不会对本身属于URI的特殊字符进行编码,例如:冒号、正斜杠、问号和井号
decodeURI()对encodeURI()编码的字符进行解码
encodeURIComponent()会对任何非标准字符进行编码
decodeURIComponent()对encodeURIComponent()编码的字符进行解码
eval()方法
eval()只接收一个参数,即要执行的字符串
eval("alert("hi")"); //等同于alert("hi"),打印hi eval("var box = "Hello world";"); //打印Hello world eval("function sayHi(){alert("hi");}"); sayHi(); //打印hi
在eval()中创建的任何变量或函数都不会被提升,因为值解析代码的时候,它们被包含在一个字符串中;它们只在eval()执行的时候创建。
PS:在使用eval()时必须极为谨慎,特别是在用它执行用户输入数据的情况下。否则,可能会有恶意用户输入威胁你的站点或应用程序安全的代码(即所谓的代码注入)。
Global对象属性
属性 | 方法 | 属性 | 方法 |
---|---|---|---|
undefined | 特殊值undefined | Date | 构造函数Date |
NaN | 特殊值NaN | RegExp | 构造函数RegExp |
Infinity | 特殊值Infinity | Error | 构造函数Error |
Object | 构造函数Object | EvalError | 构造函数EvalError |
Array | 构造函数Array | RangeError | 构造函数RangeError |
Function | 构造函数Function | ReferenceError | 构造函数ReferenceError |
Boolean | 构造函数Boolean | SyntaxError | 构造函数SyntaxError |
String | 构造函数String | TypeError | 构造函TypeError |
Number | 构造函数Number | URIError | 构造函数URIError |
window对象
ECMAScript 虽然没指出如何直接访问 Global对象,但Web 浏览器都是将这个全局对象作为window对象的一部分加以实现的。
Math对象ECMAScript 还为保存数学公式和信息提供了一个公共位置,即Math对象。
Math对象提供的计算功能执行起来要比自己编写JavaScript 计算程序快得多。
Math对象的属性
属性 | 说明 |
---|---|
Math.E | 常量e |
Math.LN10 | 10的自然对数 |
Math.LN2 | 2的自然对数 |
Math.LOG2E | 以2为底e的对数 |
Math.LOG10E | 以10为底e的对数 |
Math.PI | 常量π |
Math.SQRT1_2 | 1/2的平方根 |
Math.SQRT2 | 2的平方根 |
min()和max()方法
min()和max()方法用于确定一组数值中的最小值和最大值。
舍入方法
Math.ceil()执行向上舍入
Math.floor()向下舍入
Math.round()四舍五入
random()方法
random()方法返回一个[0,1)的随机数。
可封装成一个函数:
function selectFrom(start,end){ var choices = end - start +1; return Math.floor(Math.Random()*choices + start); } alert(slectFrom(5,9)) //打印5-9之间的随机数
其他方法
方法 | 说明 | 方法 | 说明 |
---|---|---|---|
Math.abs(num) | 返回num的绝对值 | Math.asin(x) | 返回x的反正弦值 |
Math.exp(num) | 返回Math.E的num次幂 | Math.atan(x) | 返回x的反正切值 |
Math.log(num) | 返回num的自然对数 | Math.atan2(y,x) | 返回y/x的反正切值 |
Math.pow(num,power) | 返回num的power次幂 | Math.cox(x) | 返回x的余弦值 |
Math.sqrt(num) | 返回num的平方根 | Math.sin(x) | 返回x的正弦值 |
Math.acos(x) | 返回x的反余弦值 | Math.tan(x) | 返回x的正切值 |
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/94504.html
摘要:单体内置对象单体内置对象就是开发人员不必显式地实例化内置对象,因为他们已经实例化了。前面的章节讨论过了大多数内置对象,还定义了两个单体内置对象和。 单体内置对象 单体内置对象就是开发人员不必显式地实例化内置对象,因为他们已经实例化了。前面的章节讨论过了大多数内置对象,ECMA-262 还定义了两个单体内置对象:Global 和Math。 Global 对象 所有在全局作用域中定义的属性...
摘要:单体内置对象对内置对象的定义是由实现提供的不依赖于宿主环境的对象,这些对象在程序执行之前就已经存在了。还定义了两个单体内置对象和。此外,所有原生引用类型的构造函数,像和,也都是对象的属性。 单体内置对象 ECMA-262 对内置对象的定义是「由 JavaScript 实现提供的、不依赖于宿主环境的对象,这些对象在 JavaScript 程序执行之前就已经存在了」。意思就是说,开发人员不...
摘要:单体模式有以下优点用来划分命名空间,减少全局变量数量。通常我们使用操作符创建单体模式的三种选择,让构造函数总返回最初的对象使用全局对象来存储该实例不推荐,容易全局污染。实现该工厂模式并不困难,主要是要找到能够穿件所需类型对象的构造函数。 介绍 最近开始给自己每周订个学习任务,学习结果反馈为一篇文章的输出,做好学习记录。 这一周(02.25-03.03)我定的目标是《JavaScri...
摘要:社区团队高级软件工程师补充说这产生了大量浪费的资源。和大会日期会议日程通告日期年月日会议活动举办日期年月至日和赞助方案和多元化奖学金现正接受申请和即将首次合体落地中国 VSCO:移动应用如何通过云原生节省70%的EC2账单 showImg(https://segmentfault.com/img/bVboP4E?w=721&h=440); 公司:VSCO地点:加州奥克兰行业:照片移动应...
阅读 2800·2021-11-24 09:39
阅读 2439·2019-08-30 15:53
阅读 3011·2019-08-30 13:47
阅读 1272·2019-08-30 12:50
阅读 1467·2019-08-29 16:31
阅读 2616·2019-08-29 13:14
阅读 1546·2019-08-29 10:55
阅读 762·2019-08-26 13:32