程序的质地

typescript 学习之基本类型: 字符串(1)

2017-10-22  本文已影响0人  cfcodefans

JSON.stringify方法可以把各种有的没的,转成字符串

JSON.stringify({})      =       "{}"
JSON.stringify(null)    =       "null"
JSON.stringify(undefined)       =       undefined

typescript里的字符串自带char数组属性,但是并没有数组的某些方法,例如forEach

'abcdef'[0]     =       "a"
'abcdef'[1]     =       "b"
'abcdef'[6]     =       undefined
'abcdef'[-1]    =       undefined

有些方法可以把字符串包裹在html标签里(不过我还没见过谁特意这么干,恩...)

'abcdef'.anchor()       =       "<a name=\"undefined\">abcdef</a>"
'abcdef'.anchor('test') =       "<a name=\"test\">abcdef</a>"
''.anchor('test')       =       "<a name=\"test\"></a>"
'<a/>'.anchor('test')   =       "<a name=\"test\"><a/></a>"
'abcdef'.big()  =       "<big>abcdef</big>"
'abcdef'.blink()        =       "<blink>abcdef</blink>"
'abcdef'.bold() =       "<b>abcdef</b>"
'abcdef'.fixed()        =       "<tt>abcdef</tt>"
'abcdef'.fontcolor()    =       "<font color=\"undefined\">abcdef</font>"
'abcdef'.fontcolor('red')       =       "<font color=\"red\">abcdef</font>"
'abcdef'.fontsize()     =       "<font size=\"undefined\">abcdef</font>"
'abcdef'.fontsize('10') =       "<font size=\"10\">abcdef</font>"
'abcdef'.fontsize('0')  =       "<font size=\"0\">abcdef</font>"
'abcdef'.fontsize('')   =       "<font size=\"\">abcdef</font>"
'abcdef'.fontsize(null) =       "<font size=\"null\">abcdef</font>"
'abcdef'.fontsize(10)   =       "<font size=\"10\">abcdef</font>"
'abcdef'.fontsize(0)    =       "<font size=\"0\">abcdef</font>"
'abcdef'.italics()      =       "<i>abcdef</i>"
'abcdef'.link() =       "<a href=\"undefined\">abcdef</a>"

得到字符

'abcdef'.charAt(1)      =       "b"
'abcdef'.charAt(10)     =       ""
'abcdef'.charAt(-1)     =       ""
'abcdef'.charAt(-10)    =       ""
'abcdef'.charCodeAt(1)  =       98
'abcdef'.charCodeAt(10) =       null //小心返回值
'abcdef'.charCodeAt(-1) =       null
'abcdef'.codePointAt(1) =       98
'abcdef'.codePointAt(10)        =       undefined //小心返回值
'abcdef'.codePointAt(-1)        =       undefined

连接字符串=把参数转成字符串,再连接

'abcdef'.concat('12345')        =       "abcdef12345"
'abcdef'.concat(12345)  =       "abcdef12345"
'abcdef'.concat(new Date())     =       "abcdefSun Oct 22 2017 14:17:55 GMT+0800 (China Standard Time)"
'abcdef'.concat('')     =       "abcdef"
'abcdef'.concat(null)   =       "abcdefnull"
'abcdef'.concat(undefined)      =       "abcdefundefined"

js没类型, 很多人喜欢没有类型的限制,那就准备跳坑吧

'abcdef'.endsWith('f')  =       true
'abcdef'.endsWith('1')  =       false
'abcdef'.endsWith('')   =       true
'123456'.endsWith(6)    =       true //坑你一下
'abcdef'.endsWith(null) =       false
'abcdefnull'.endsWith(null)     =       true //坑你一下
'abcdefundefined'.endsWith(undefined)   =       true //坑你一下

包含吗?不包含吗?

'abcdef'.includes()     =       false
'abcdef'.includes(null) =       false
'abc_null_def'.includes(null)   =       true
'abcdef'.includes(undefined)    =       false
'abc_undefined_def'.includes(undefined) =       true
'abcdef'.includes('bcd')        =       true
'abcdef'.includes('bcd', 0)     =       true
'abcdef'.includes('bcd', 1)     =       true
'abcdef'.includes('bcd', 2)     =       false
'abcdef'.includes('bcd', -1)    =       true //如果你用过python的话......
'abcdef'.includes('bcd', -2)    =       true
'abcdef'.includes('ef', -3)     =       true
'abcdef'.includes('ef', 10)     =       false
'abcdef'.indexOf('d')   =       3
'abcdef'.indexOf('1')   =       -1
'abcdef'.indexOf('')    =       0
'abcdef'.indexOf('d', 2)        =       3
'abcdef'.indexOf('d', 3)        =       3
'abcdef'.indexOf('d', 4)        =       -1
'abcdef'.indexOf('d', 5)        =       -1
'abcdef'.indexOf('d', 10)       =       -1
'abcdef'.indexOf('d', -3)       =       3
'abc_null_def'.indexOf(null)    =       4
'abc_undefined_def'.indexOf(undefined)  =       4
'abcdef'.lastIndexOf('d')       =       3
'abcdef'.lastIndexOf('1')       =       -1
'abcdef'.lastIndexOf('')        =       6
'abcdef'.lastIndexOf('d', 2)    =       -1
'abcdef'.lastIndexOf('d', 3)    =       3
'abcdef'.lastIndexOf('d', 4)    =       3
'abcdef'.lastIndexOf('d', 5)    =       3
'abcdef'.lastIndexOf('d', 10)   =       3
'abcdef'.lastIndexOf('d', -3)   =       -1
'abc_null_def'.lastIndexOf(null)        =       4
'abc_undefined_def'.lastIndexOf(undefined)      =       4

null和undefined比较大? 这逻辑我不懂

'abcdef'.localeCompare()        =       -1
'abcdef'.localeCompare(null)    =       -1
'abcdef'.localeCompare('null')  =       -1
'abcdef'.localeCompare(undefined)       =       -1
'abcdef'.localeCompare('undefined')     =       -1
'abcdef'.localeCompare('a')     =       1
'abcdef'.localeCompare('abcdef')        =       0
'abcdef'.localeCompare('abcdefg')       =       -1
'abcdef'.localeCompare('aacdef')        =       1
'abcdef'.localeCompare('accdef')        =       -1

正则表达式这个大坑,有空再跳吧

'abcdef'.match()        =       [""]
'abcdef'.match(/./)     =       ["a"]
'abcdef'.match(/cde/)   =       ["cde"]
'abcdef'.match(/(b|d)/) =       ["b","b"]
'abcdef'.match(null)    =       null
'abc_null_def'.match(null)      =       ["null"]
'abcdef'.match(undefined)       =       [""]
'abc_undefined_def'.match(undefined)    =       [""]

还是不明白normalize是干嘛的

'abcdef'.normalize()    =       "abcdef"
'abcdef'.normalize('NFC')       =       "abcdef"
'abcdef'.normalize('NFD')       =       "abcdef"
'abcdef'.normalize('NFKC')      =       "abcdef"
'abcdef'.normalize('NFKD')      =       "abcdef"
'123456'.normalize('NFC')       =       "123456"
'123456'.normalize('NFD')       =       "123456"
'123456'.normalize('NFKC')      =       "123456"
'123456'.normalize('NFKD')      =       "123456"
'ẛ̣'.normalize('NFC') =       "ẛ̣"
'ẛ̣'.normalize('NFD') =       "ẛ̣"
'ẛ̣'.normalize('NFKC')        =       "ṩ"
'ẛ̣'.normalize('NFKD')        =       "s

前填充,后填充

'abcdef'.padEnd(20)     =       "abcdef              " //默认填空格
'abcdef'.padEnd(10)     =       "abcdef    "
'abcdef'.padEnd(0)      =       "abcdef"
'abcdef'.padEnd(1)      =       "abcdef"
'abcdef'.padEnd(20, '-')        =       "abcdef--------------"
'abcdef'.padEnd(15, '-')        =       "abcdef---------"
'abcdef'.padEnd(10, '-')        =       "abcdef----"
'abcdef'.padEnd(10.5, '-')      =       "abcdef----" //不是四舍五入吗?
'abcdef'.padEnd(0, '-') =       "abcdef"
'abcdef'.padEnd(-1, '-')        =       "abcdef"
'abcdef'.padEnd(10, '123456')   =       "abcdef1234"
'abcdef'.padEnd(10, null)       =       "abcdefnull"
'abcdef'.padEnd(10, undefined)  =       "abcdef    "
'abcdef'.padStart(20)   =       "              abcdef"
'abcdef'.padStart(10)   =       "    abcdef"
'abcdef'.padStart(0)    =       "abcdef"
'abcdef'.padStart(1)    =       "abcdef"
'abcdef'.padStart(20, '-')      =       "--------------abcdef"
'abcdef'.padStart(15, '-')      =       "---------abcdef"
'abcdef'.padStart(10, '-')      =       "----abcdef"
'abcdef'.padStart(10.5, '-')    =       "----abcdef"
'abcdef'.padStart(0, '-')       =       "abcdef"
'abcdef'.padStart(-1, '-')      =       "abcdef"
'abcdef'.padStart(10, '123456') =       "1234abcdef"
'abcdef'.padStart(10, null)     =       "nullabcdef"
'abcdef'.padStart(10, undefined)        =       "    abcdef"

先到这儿吧....下次继续(ง •̀_•́)ง

上一篇 下一篇

猜你喜欢

热点阅读