1. 程式人生 > >Js之全局函數

Js之全局函數

第一個字符 nco 引用 資源 相等 escape init 實現 毫秒

全局函數

encodeURI()decodeURI()encodeURIComponent()decodeURIComponent()escape()unescape()eval()

String()Number()parseInt()parseFloat()

isNaN()isFinite()


encodeURI(uri):將字符串編碼為URI。使用 decodeURI() 方法可以編碼URI(通用資源標識符:Uniform Resource Identifier,簡稱"URI")。對以下在 URI 中具有特殊含義的 ASCII 標點符號,encodeURI() 函數是不會進行轉義的: , / ? : @ & = + $ #

(可以使用 encodeURIComponent() 方法分別對特殊含義的 ASCII 標點符號進行編碼。)。decodeURI(uri):解碼某個編碼的URI。


            var textStr=‘http://www.zhuan-qian.com?url=http://xiao_da.com&name=花錢#index‘;
            var newStr1=encodeURI(textStr);
            console.log(newStr1);

            --  http://www.zhuan-qian.com?url=http://xiao_da.com&name=%E8%8A%B1%E9%92%B1#index 
             

encodeURIComponent(uri):將字符串編碼為URI組件。該方法不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ‘ ( ) 。其他字符(比如 :;/?:@&=+$,# 這些用於分隔 URI 組件的標點符號),將由一個或多個十六進制的轉義序列替換的。decodeURIComponent():解碼一個編碼的URI組件


            var textStr=‘http://www.zhuan-qian.com?url=http://xiao_da.com&name=花錢#index‘;
            var newStr1=encodeURIComponent(textStr);
            console.log(newStr1);

           -- http%3A%2F%2Fwww.zhuan-qian.com%3Furl%3Dhttp%3A%2F%2Fxiao_da.com%26name%3D%E8%8A%B1%E9%92%B1%23index  
             

escape():對字符串進行編碼。該函數可對字符串進行編碼,這樣就可以在所有的計算機上讀取該字符串。   該方法不會對 ASCII 字母和數字進行編碼,也不會對下面這些 ASCII 標點符號進行編碼: * @ - _ + . / 。其他所有的字符都會被轉義序列替換。該函數不能用於編碼 URIs(通用資源標識符(UniformResourceIdentifier,簡稱"URI"))。unescape():解碼由escape()編碼的字符串


             var textStr=‘h@#$-_32測試/?,.‘;
            var newStr1=escape(textStr);
            console.log(newStr1);

           -- h@%23%24-_32%u6D4B%u8BD5/%3F%2C.  
             

eval():將JavaScript字符串當作腳本來執行。如果參數是一個表達式,eval() 函數將執行表達式。如果參數是Javascript語句,eval()將執行 Javascript 語句。eval()函數是一種由函數執行的動態代碼,比直接執行腳本慢很多。慎重使用eval()函數,盡量不用,保證程序的安全性。


String():把對象的值轉換為字符串


Number()把對象的值轉換為數字,如果對象的值無法轉換為數字,Number()函數返回NaN。如果參數的Date對象,Number()返回從1970年1月1日到現在所經歷的毫秒數


parseInt(String,radix):返回轉換成整數的值。

註意:當參數radix的值為0,或者沒有設置這個參數,parseInt()會根據string來判斷數字的基數。當忽略radix,JavaScript默認數字的基數規則為:

  • 如果string以0x開頭,parseInt()會把string的其余部分解析為十六進制的整數。
  • 如果string以0開頭,那麽ECMAScript v3允許parseInt()的一個實現把其後的字符解析為八進制或十六進制的數。
  • 如果string以1~9的數字開頭,parseInt()將把它解析為十進制的整數。
  • 如果字符串以合法字符開始,parseInt()會截取合法字符。
  • String開頭和結尾的空格是允許的。
  • 如果字符串的第一個字符不能被轉換為數字,parseInt()會返回NaN。
  • 在字符串以"0"為開始時舊的瀏覽器默認使用八進制基數。ECMAScript 5,默認的是十進制的基數。

parseFloat(string):返回轉換成浮點型的值。

該函數指定字符串中的首個字符是否是數字。如果是,則對字符串進行解析,直到到達數字的末端為止,然後以數字返回該數字,而不是作為字符串。


isNaN(value):檢測某個值是否是NaN。isNaN()檢測是否是非數字值,如果值為NaN返回true,否則返回false。


isFinite(value):檢測某個是是否是無窮值。如果value是NaN或者+Infinity或者-Infinity的數,isFinite()返回false。

全局屬性

Infinity:Infinity 屬性用於存放表示正無窮大的數值。負無窮大是表示負無窮大一個數字值。在Javascript中,超出1.7976931348623157E+10308的數值即為Infinity,小於-1.7976931348623157E+103088的數值為無窮小。

NaN:NaN 屬性用於引用特殊的非數字值。 該屬性指定的並不是不合法的數字。NaN 屬性 與 Number.Nan 屬性相同。請使用 isNaN() 來判斷一個值是否是數字。原因是 NaN 與所有值都不相等,包括它自己。

undefined:用於存放 JavaScript 中未定義的值。

Js之全局函數