您的位置:首页 > Web前端 > JavaScript

引用类型(五)——单体内置对象

2017-07-15 11:21 267 查看

(一)Global对象(全局对象)

Global对象不属于任何其他对象的属性和方法,最终都是它的属性和方法。

事实上,没有全局变量或全局函数。所有在全局作用域中定义的属性和函数,都是Global对象的属性。

1、方法

1)isNaN():判断一个参数是否“不是数值”。

2)isFinite():判断一个数值是不是无穷的。

3)parseInt():把字符串转换成数值,常用于处理整数。

4)parseFloat():把字符串转换成数值。与parseInt()类似,不过是用于处理浮点数字。

5)URI编码方法

encodeURI():主要用于整个URI。不会对本身属于URI的特殊字符进行编码。

encodeURIComponent():主要用于对URI的某一段进行编码。会对它发现的任何非标准字符进行编码。

6)解码

decodeURI():只能对encodeURI()替换的字符进行解码。

decodeURIComponent():可以解码任何特殊字符的编码。

7)eval()方法

eval()方法就像是一个完整的ECMAScript解析器,只接收一个参数,即要执行的ECMAScript字符串。

//下面两行代码等价
eval("alert('hi')");
alert("hi");


当解析器发现代码中调用eval()方法时,它会将传入的参数当作实际的ECMAScript语句来解析,然后把执行结果插入到原位置。通过eval()执行的代码被认为是包含该次调用的执行环境的一部分,因此被执行的代码具有与该执行环境相同的作用域链。

换句话说,通过eval()执行的代码可以引用在包含环境中的定义变量;在eval()调用中定义的变量或函数,在该调用的外部代码中也可以引用。

var msg = "hello world";
eval("alert(msg)");  // hello world

eval("function sayHi() {alert('hi');}");
sayHi();  // hi

eval("var msg = 'hello world';");
alert(msg);  // hello world


在eval()中创建的任何变量或函数都不会被提升,因为在解析代码时,它们被包含在一个字符串中;它们只在eval()执行的时候创建。

在严格模式下,在外部访问不到eval()中创建的任何变量或函数;为eval赋值会产生错误。

2、属性

属性说明
undefined特殊值undefined
NaN特殊值NaN
Infinity特殊值Infinity
Object构造函数Object
Array构造函数Array
Function构造函数Function
Boolean构造函数Boolean
String构造函数String
Number构造函数Number
Date构造函数Date
RegExp构造函数RegExp
Error构造函数Error
EvalError构造函数EvalError
RangeError构造函数RangeError
ReferenceError构造函数ReferenceError
SyntaxError构造函数SyntaxError
TypeError构造函数TypeError
URIError构造函数URIError

3、window对象

在全局作用域中声明的所有变量和函数,都成为了window对象的属性。

(二)Math对象:保存数学公式和信息。

1、属性:大都是数学计算中可能会用到的一些特殊值。

属性说明
Math.E自然对数的底数,即常量e的值
Math.LN1010的自然对数
Math.LN22的自然对数
Math.LOG10E以2为底e的对数
Math.PI以10为底e的对数
Math.SQRT1_21/2的平方根,即2的平方根的倒数
Math.SQRT22的平方根

2、方法

1)Math.min()和Math.max():用于确定一组数值中的最小值和最大值。可以接收任意多个数值参数。

var max = Math.max(3,54,32,16);
alert(max);  //54

var min = Math.min(3,54,32,16);
alert(min);  //3


2)舍入方法

Math.ceil():执行向上舍入,即将数值向上舍入为最接近的整数。

Math.floor():执行向下舍入,即将数值向下舍入为最接近的整数

Math.round():执行四舍五入。

alert(Math.ceil(17.2));  //18
alert(Math.floor(24.9));  //24
alert(Math.round(21.7));  //22


3)Math.random():返回大于等于0小于1的一个随机数。

//下面的公式可以实现从某个整数范围内随机选择一个值
值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能的值);

//选择一个1到10之间的数值
var num = Math.floor(Math.random() * 10 + 1);

//通过一个函数来计算可能值的总数和第一个可能的值
function selectFrom(lowerValue, upperValue){
var choices = upperValue - lowerValue + 1;
return Math.floor(Math.random() * choices + lowerValue);
}

var number = selectFrom(2,10);//2到10之间的一个数值
b259

alert(number);


4)其他方法

方法说明
Math.abs(x)返回x的绝对值
Math.exp(x)返回E的x次幂
Math.log(x)返回x的自然对数
Math.pow(x,y)返回x的y次幂
Math.sqrt(x)返回x的平方根
Math.acos(x)返回x的反余弦值
Math.asin(x)返回x的反正弦值
Math.atan(x)返回x的反正切值
Math.atan2(y,x)返回y/x的反正切值
Math.cos(x)返回x的余弦值
Math.sin(x)返回x的正弦值
Math.tan(x)返回x的正切值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐