js单体内置对象

js单体内置对象:js的内置对象,是ECMAScritp提供的、不依赖于宿主环境的对象,我的理解就是在我们开发之前js里面就已经存在的对象。单体内置对象就是是不需要通过new来实例化的,例如我们的string可以new,但是Math是不要new的,因为可以直接使用Math的API。

一、Global 对象

Global 对象是JavaScript中的内部对象,该对象无法直接访问,其目的是将全局方法收集到一个对象中。我们直接使用该对象的属性和方法即可。

1.global对象的属性

属性 描述
Infinity 特殊值表示正的无穷大。
NaN 特殊值表示非数字值。
undefined 特殊值表示一个变量未被初始化。

2.global对象的方法

(1)URI(通用资源标识符)编码方法。使用特殊的utf-8编码对uri进行编码,替换无效字符,是浏览器能够理解。

encodeURI():函数不会对下列字符进行编码:":"、"/"、";"和"?"。

encodeURIComponent():函数会编码所有的字符。如果你想把URI当作请求参数传递,那么你可以使用本函数

// 原URI
var uri = "http://www.365mini.com/page/tag/中国近代史的前车之鉴";

// 编码URI
var encodedUri = encodeURI( uri );
document.writeln( encodedUri );
// http://www.365mini.com/page/tag/%E4%B8%AD%E5%9B%BD%E8%BF%91%E4%BB%A3%E5%8F%B2%E7%9A%84%E5%89%8D%E8%BD%A6%E4%B9%8B%E9%89%B4

// 编码URI组件
var encodedUri = encodeURIComponent( uri );
document.writeln( encodedUri ); 
// http%3A%2F%2Fwww.365mini.com%2Fpage%2Ftag%2F%E4%B8%AD%E5%9B%BD%E8%BF%91%E4%BB%A3%E5%8F%B2%E7%9A%84%E5%89%8D%E8%BD%A6%E4%B9%8B%E9%89%B4

encodeURI():函数不会对下列字符进行编码:":"、"/"、";"和"?",函数用于对统一资源标识符(URI)进行编码,并返回编码后的URI字符串。

encodeURIComponent():函数用于对统一资源标识符(URI)的有效组件进行编码,并返回编码后的字符串。函数会编码所有的字符

//原URI组件
var uri = "http://www.365mini.com/page/tag/中国近代史的前车之鉴";

// 编码URI组件
var encodedUri = encodeURIComponent( uri );
document.writeln( encodedUri );
// http%3A%2F%2Fwww.365mini.com%2Fpage%2Ftag%2F%E4%B8%AD%E5%9B%BD%E8%BF%91%E4%BB%A3%E5%8F%B2%E7%9A%84%E5%89%8D%E8%BD%A6%E4%B9%8B%E9%89%B4 

// 编码URI
var encodedUri = encodeURI( uri );
document.writeln( encodedUri ); 
// http://www.365mini.com/page/tag/%E4%B8%AD%E5%9B%BD%E8%BF%91%E4%BB%A3%E5%8F%B2%E7%9A%84%E5%89%8D%E8%BD%A6%E4%B9%8B%E9%89%B4

(2)evel():函数用于计算并执行以字符串表示的JavaScript代码。eval()函数使JS可以动态执行JavaScript源代码

var code = "var x = 18; y = 12; document.writeln(x + y);";
eval( code ); // 30

code = " 2 + 3";
var result = eval( code );
document.writeln( result ); // 5

二、Math对象

Math对象是JavaScript中内置的一个全局对象,它主要提供一些基本的、常用的数学函数和常数。

Math对象上均是静态函数和静态常量属性,因此Math对象没有构造函数,也不需要创建它(不需要new新的对象),直接使用Math的属性和方法即可。

math对象的属性:

E:返回数学常量 e,即自然对数的底数(约等于2.718)。

LN10:返回 10 的自然对数(约等于2.303)。

LN2:返回 2 的自然对数(约等于0.693)。

LOG10E:返回以 10 为底的 e 的对数(即log10e,约等于0.434)。

LOG2E:返回以 2 为底的 e 的对数(即log2e,约等于 1.414)。

PI:返回圆周率π(约等于3.14159)。

document.write(Math.PI); // 3.141592653589793

SQRT1_2:返回 0.5 的平方根,也就是 2 的平方根的倒数(约等于 0.707)。

SQRT2:返回 2 的平方根(约等于 1.414)。

Math对象的方法:

abs(x):返回数的绝对值。
acos(x) :返回数的反余弦值。
asin(x) :返回数的反正弦值。
atan(x) :以介于 -π/2 与 π/2 弧度之间的数值来返回 x 的反正切值。
atan2(y,x): 返回从 x 轴到点 (x,y) 的角度(介于 -π/2 与 π/2 弧度之间)。
ceil(x) :对数进行上舍入。
cos(x) :返回数的余弦。
exp(x) :返回 e 的指数。
floor(x) :对数进行下舍入。
log(x):返回数的自然对数(底为e),即logex。
max(x,y):返回 x 和 y 中的最高值。
min(x,y):返回 x 和 y 中的最低值。
pow(x,y): 返回 x 的 y 次幂。
random(): 返回 0 ~ 1 之间(不包括 1)的随机数。
round(x):把数四舍五入为最接近的整数。
sin(x):返回数的正弦值。
sqrt(x): 返回数的平方根。
tan(x) :返回角的正切值。

// 多个参数时,返回最大的数
document.writeln( Math.max( -1, 2.1, 10.5, 7 ) );   // 10.5

document.writeln( Math.sqrt( 9 ) ); // 3

猜你喜欢

转载自www.cnblogs.com/wgl0126/p/9268547.html