單體物件 Singleton Object 提供的頂層方法
阿新 • • 發佈:2018-11-09
單體物件也屬於引用型別
更多精彩
- 更多技術部落格,請移步 asing1elife’s blog
解釋
- Global 表示全域性的物件,因為無法例項化,所以實際上是不存在的物件
encodeURI
- 對傳入值進行編碼,會將一些不應存在於 URI 中的字元進行重新編碼
var uri = 'http://www.baidu.com cn'
var result = encodeURI(uri)
alert(result) // 顯示 http://www.baidu.com%20cn 表示空格被識別為 %20
encodeURIComponent
- 對傳入值進行編碼,會將一切對於瀏覽器而言不標準的字元進行重新編碼
var uri = 'http://www.baidu.com'
var result = encodeURIComponent(uri)
alert(result) // 顯示 http%3A%2F%2Fwww.baidu.com 表示 : 被識別為 %3A ,/ 被識別為 %2F
decodeURI
- 對傳入值進行解碼,與 encodeURI 規則相同
var uri = 'http://www.baidu.com%20cn'
var result = decodeURI(uri)
alert (result) // 顯示 http://www.baidu.com cn 表示將 %20 解碼為空格
decodeURIComponent
- 對傳入值進行解碼,與 encodeURIComponent 規則相同
var uri = 'http%3A%2F%2Fwww.baidu.com'
var result = decodeURIComponent(uri)
alert(result) // 顯示 http://www.baidu.com 表示 %3A 被解碼為 : ,%2F 被解碼為 /
eval
- 無形的 JavaScript 解碼器,可將普通字串轉換為 JS 程式碼
var str = "var name = 'Jone'"
eval(str) // 將 str 中的內容轉換為 JS 程式碼
alert(str) // 顯示 Jone ,表示 name 變數已被宣告
eval(’(’ + strObj + ‘)’)
- 將物件字串轉換為物件,需要在傳值的兩側加入一對括號,表示為一個單獨方法域
var strObj = "{name:'Jone', age:20}"
var obj = eval('(' + strObj + ')')
alert(obj.name + ', ' + obj.age) // 顯示 Jone, 20
parseInt
- 將字串轉換為 int 型別
var num = parseInt('20') // 將字串 20 轉換為 int 型別
alert(typeof(num) + ' : ' + num) // 顯示 number : 20
parseFloat
- 將字串轉換為 float 型別
var num = parseFloat('20.5') // 將字串 20.5 轉換為 float 型別
alert(typeof(num) + ' : ' + num) // 顯示 number : 20.5
escape
- 對傳入的中文字串進行轉碼
var str = '王萌'
var result = escape(str) // 對 王萌 進行轉碼,轉成 Unicode 編碼
alert(result) // 顯示 %u738B%u840c ,王 轉換為 %u738B ,萌 轉換為 %u840c
unescape
- 對傳入的 Unicode 編碼進行解碼
var str = '%u738B%u840c'
var result = unescape(str) // 對字串進行解碼,轉成中文
alert(result) // 顯示 王萌
isNaN
- 判斷傳入值是否為 number 型別,是 number 型別則返回 false ,不是 number 型別則返回 true
var num1 = '10'
var num2 = 'abcd10e'
var num3 = '10abcde'
var result1 = isNaN(num1)
var result2 = isNaN(num2)
var result3 = isNaN(num3)
alert(result1) // 顯示 false ,表明是 number 型別,而且 isNaN 還會對字串進行自動轉換
alert(result2) // 顯示 true ,表明不是 number 型別
alert(result3) // 顯示 true ,表明不是 number 型別,說明 isNaN 的自動轉換機制並沒有 parseInt 強大