js入門 八 Global與Date

2021-07-07 10:55:57 字數 2939 閱讀 4509

嚴格意義上,js中所有的全域性變數、全域性方法都是不存在的,因為這些變數方法都存在於global物件中。global物件不能直接new,也不能直接使用,在scripting引擎初始化時被例項化,並且使其中的方法、屬性可立即使用。

對於global物件中的方法,可以直接使用。如

前面使用的parseint()就屬於global中的方法。

簡單點理解就是:global定義了一堆的方法,這些方法在任何js**中都可直接使用。

encodeuri():類似於android中的

urlencoder.encode(),將uri進行加密。

decodeuri():跟encodeuri()相反,對傳入的值進行解密。兩者示例如下:

document.write(encodeuri(uri));//輸出值為result。此處就直接使用encodeuri,不需要new global物件。

var result = "";

document.write(decodeuri(result));//輸出值為uri

encodeuricomponent():類似於encodeuri(),也是為uri進行加密。但會將「:」、「/」等符號也進行加密。

decodeuricomponent():與encodeuricomponent()對應,用encodeuricomponent()加密的uri,用decodeuri無法完全解密。這兩個方法最常用。如下:

document.write(encodeuricomponent(uri));//輸出值為result

document.write(decodeuricomponent(result));//輸出值為uri

escape()與unescape():前者是對文字進行加密,後者進行解密的。

同encodeuri等類似,只不過兩者加密得到的值不同。

eval(string):計算某個字串,並執行其中的js**,該方法可以將string格式的資料轉換成相應的物件或者執行其中的js**。類似於android中的jsonobject obj = new jsonobject(s),它可以將string格式的jsonobject轉換成jsonobject物件,然後再進行解析。如:可將string形式的陣列轉換中js中實實在在的陣列。引數中要含有要計算的js表示式或者要執行的語句。返回通過計算string得到的值。如:

var ju = "var a = 10;var b = 20;document.write(a*b);";

eval(ju);//執行js語句,得到變數a,b,並且同時執行document.write()語句

alert(a);

document.write("

") var r1= eval("2*2;");//r1 === 4;eval執行了引數中的2*2語句。

document.write(typeof(r1)+"----"+r1);//輸出為:number----4

document.write("

") //將乙個字串格式的陣列轉換成js中的陣列物件

var arraystr = "[\"var c = 10;\",\"var d = 20;\",\"c+d;\",3]";

var array = eval(arraystr);//array為乙個陣列

for(var a in array)

document.write(array[a]);

document.write("

") //將乙個string格式的物件通過eval轉換成js中的物件。

var objstr = "";

var obj = eval("("+objstr+")");//這裡比較特別,必須在前後加上(),否則不成功

document.write(obj.name);//呼叫物件中的屬性

注意:在將string型別的物件轉換成js物件時,必須在前後加上()

parseint()與parsefloat():將string轉換成number型別。

isnan():is not a number,如果不是乙個數字返回true,否則返回false。string型別的變數如果只由純數字和小數點組成,該方法也返回true。如:

function write(params)

var s = "00000.";

write(isnan(s));//false

var b = "89643250a";

write(isnan(b));//true,因為最後含有字母

日期型別。

getfullyear():獲取當前年。

getmonth():獲取月。從0開始。

getdate():獲取日。

getday():獲取星期。

gethours():獲取時。

getminutes():獲取分

getseconds():獲取秒

gettime():獲取當前時間的毫秒值。如下:

function write(params)

var date = new date();

write(date.getfullyear());//年

write(date.getmonth() + 1);//月

write(date.getdate());//日

write(date.gethours());//時

write(date.getminutes());//分

write(date.getseconds());//秒

write(date.getday());//星期

write(date.gettime());//毫秒值

C 入門(八)陣列與陣列排序

陣列的定義 陣列是包含若干相同型別的變數,這些變數都是可以通過索引進行訪問的,陣列中的變數稱為陣列的元素,陣列能夠容納元素的數量稱為陣列的長度,陣列中的每個元素都具有唯一的索引與其相對應,陣列的索引從零開始。陣列的型別 陣列分為一維陣列,二維陣列和多維陣列,實際上多維陣列的使用和二維陣列的使用是類似...

C 入門學習八 函式與函式指標

函式分類 內建函式 stl和boost c 自定義函式 函式三要素 返回值型別 函式名 引數列表 引數和按值傳遞 按值傳遞 給函式傳遞變元 引數時 變元 引數 值不會直接傳遞給函式,而是先製作變元 引數 值的副本,在儲存在棧尚,在使用這個副本可用於函式,而不是使用初始值。void change in...

SQLite入門與分析 八 儲存模型 1

寫在前面 sqlite作為嵌入式資料庫,通常針對的應用的資料量相對於通常dbms的資料量是較小的。所以它的儲存模型設計得非常簡單,總的來說,sqlite把乙個資料檔案分成若干大小相等的頁面,然後以b樹的形式來組織這些頁面。而對於大型的資料庫管理系統,比如oracle,或者dm 儲存模型要複雜得多。就...