JavaScript 全局
- 全局屬性
- Infinity
代表正的無窮大的數值
- NaN
指示某個值是不是數字值
- undefined
指示未定義的值
- Infinity
- 全局函數
-
encodeURI()
把字符串編碼爲 URI
編碼後的 url 仍可以直接用於請求不編碼字符
~ ! @ # $ & * ( ) = : / , ; ? + '
該方法能避開對用於URL裏使用特殊字符編碼,包括# ? & = : /
等
使用 encodeURI() 對 URL 編碼後的字符串還是有效的URL,所以發送有空格等不屬於 url 定義語法裏的字符,可以用 encodeURI() 來做編碼轉換 -
decodeURI()
解碼某個編碼的 URI
-
encodeURIComponent()
把字符串編碼爲 URI 組件
編碼後的 url 不可以直接用於請求不編碼字符
- _ . ! ~ * ' ( )
和 encodeURI() 不同,encodeURIComponent() 會對用於定義 URL 的字符# ? & = : /
等做編碼,所以 encodeURIComponent() 編碼後的 url 不可以直接用於請求應用場景
對 url 裏的查詢參數做編碼,例如可以對參數爲 url 的值做編碼轉換
注意 因爲 encodeURIComponent() 不會對單引號'
做編碼轉換,所以建議字符串裏用到單引號的地方使用雙引號
另外也可以在 encodeURIComponent() 編碼後再把單引號等字符轉換爲對應的編碼 -
decodeURIComponent()
解碼一個編碼的 URI 組件
-
escape()
對字符串進行編碼
不編碼字符
@ * / +
該方法從 ECMAScript 3 開始就被廢棄,建議不要使用 -
unescape()
對由 escape() 編碼的字符串進行解碼
-
eval()
計算 JavaScript 字符串,並把它作爲腳本代碼來執行
-
isFinite()
檢查某個值是否爲有窮大的數
-
isNaN()
檢查某個值是否是數字
-
Number()
把對象的值轉換爲數字
-
parseFloat()
解析一個字符串並返回一個浮點數
-
parseInt()
解析一個字符串並返回一個整數
-
String()
把對象的值轉換爲字符串
-
talk is cheap, show me the code.
舉些例子
let url ='http://showdoc.itplh.com/web/#/4?page_id=10&token=123+456[; / ? : @ & = + $ , #]'
let encode_url = window.encodeURI(url)
let encode_url2 = window.encodeURIComponent(url)
console.log('encodeURI', encode_url)
console.log('encodeURIComponent', encode_url2)
console.log('decodeURI', decodeURI(encode_url))
console.log('decodeURIComponent', decodeURIComponent(encode_url2))
let str = 'hello world'
let escape_str = window.escape(str)
console.log('escape', escape_str)
console.log('unescape', unescape(escape_str))
輸出
encodeURI http://showdoc.itplh.com/web/#/4?page_id=10&token=123+456%5B;%20/%20?%20:%20@%20&%20=%20+%20$%20,%20#%5D
encodeURIComponent http%3A%2F%2Fshowdoc.itplh.com%2Fweb%2F%23%2F4%3Fpage_id%3D10%26token%3D123%2B456%5B%3B%20%2F%20%3F%20%3A%20%40%20%26%20%3D%20%2B%20%24%20%2C%20%23%5D
decodeURI http://showdoc.itplh.com/web/#/4?page_id=10&token=123+456[; / ? : @ & = + $ , #]
decodeURIComponent http://showdoc.itplh.com/web/#/4?page_id=10&token=123+456[; / ? : @ & = + $ , #]
escape hello%20world
unescape hello world