1. 程式人生 > >js單體內置對象

js單體內置對象

實例化 但是 derby global 計算 直接 utf-8 har 存在

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

js單體內置對象