嚴格意義上,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 儲存模型要複雜得多。就...