js数据类型
程序员文章站
2022-07-09 20:57:08
就直接给自己写的代码吧:该写的都写在注释里了 1 //js 数据类型共6种(es5) number,string,boolean,null,undefined,引用数据类型(Array,Object,Function) 2 //Symbol (ES6 新增,表示独一无二的值) 3 var typeA ......
就直接给自己写的代码吧:该写的都写在注释里了
1 //js 数据类型共6种(es5) number,string,boolean,null,undefined,引用数据类型(array,object,function) 2 //symbol (es6 新增,表示独一无二的值) 3 var typearr = [ 4 { 5 type: '数值类型', 6 value: 251 7 }, 8 { 9 type: '字符串类型', 10 value: 'abcdefg' 11 }, 12 { 13 type: '布尔类型', 14 value: false 15 }, 16 { 17 type: '布尔类型', 18 value: true 19 }, 20 { 21 type: 'null类型', 22 value: null 23 }, 24 { 25 type: 'undefined类型', 26 value: undefined 27 }, 28 { 29 type: '引用类型(对象{})', 30 value: {} 31 }, 32 { 33 type: '引用类型(对象{a:2})', 34 value: { a: 2 } 35 }, 36 { 37 type: '引用类型(数组[])', 38 value: [] 39 }, 40 { 41 type: '引用类型(数组[1])', 42 value: [1] 43 }, 44 { 45 type: '引用类型(数组[1,2])', 46 value: [1, 2] 47 }, 48 { 49 type: '引用类型(function)', 50 value: function () { } 51 } 52 ] 53 for (var i = 0; i < typearr.length; i++) { 54 console.log(typearr[i].type + typearr[i].value + '转化为数值:', number(typearr[i].value)) 55 console.log(`${typearr[i].type}${typearr[i].value}转化为字符串:`, string(typearr[i].value)) 56 console.log(`${typearr[i].type}${typearr[i].value}转化为布尔值:`, boolean(typearr[i].value)) 57 console.log(`${typearr[i].type}${typearr[i].value}执行tostring:`, typearr[i].value && typearr[i].value.tostring()) 58 console.log(`${typearr[i].type}${typearr[i].value}执行valueof:`, typearr[i].value && typearr[i].value.valueof()) 59 } 60 console.log() 61 // console.log([] + {}) // "[object object]" 62 // console.log(number([])) // "0" 63 // console.log(string([])) // "" 64 65 //基本数据类型之间转化: 66 /* 67 string转number 68 1.空字符串或全空字符串 0 69 2.纯数字字符串或者科学计算法或者进制数表示 得对应的数值 70 3.其他 nan 71 */ 72 console.log(number('')) // 0 73 console.log(number(' ')) // 0 74 console.log(number('9527')) // 9527 纯数字字符串 75 console.log(number('0x11')) // 17 16进制表示数 76 console.log(number('2e2')) // 200 科学计数 77 console.log(number('qerw')) // nan 78 79 /* 80 string转boolean 81 只有空字符串转为 false 82 其他全为true 83 */ 84 console.log(boolean('')) // false 85 console.log(boolean(' ')) // true 86 87 /* 88 number转string 89 1.普通数直接加引号变成字符串 90 2.表达式表示的数 将转化为实际数后加引号变成字符串 91 */ 92 console.log(string(0)) // '0' 93 console.log(string(0x11)) // '17' 94 console.log(string(2e2)) // '200' 95 console.log(string(2e-2)) // '0.02' 96 console.log(string(2 / 3)) // '0.6666666666666666' 97 98 /* 99 number转boolean 100 0为false,非0为true 101 */ 102 console.log(boolean(0)) // false 103 console.log(boolean(1)) // true 104 105 /* 106 boolean转number 107 false 0,true 1 108 */ 109 console.log(number(true)) // 1 110 console.log(number(false)) // 0 111 112 /* 113 undefined 转number,string,boolean 114 */ 115 console.log(number(undefined)) // nan 116 console.log(string(undefined)) // 'undefined' 117 console.log(boolean(undefined)) // false 118 119 /* 120 null 转number,string,boolean 121 */ 122 console.log(number(null)) // 0 123 console.log(string(null)) // 'null' 124 console.log(boolean(null)) // false 125 126 /* 127 引用数据类型转number 128 1.对象 nan 129 2.数组 空数组为0,只有一个元素且可以转化为数字的会得到对应的数值,其他的都是nan 130 3.函数 nan 131 */ 132 console.log(number({})) // nan 133 console.log(number([])) // 0 134 console.log(number([1])) // 1 135 console.log(number(['0x11'])) // 17 136 console.log(number([1, 2])) // nan 137 console.log(number([1, 2, 3])) // nan 138 console.log(number(function () { })) // nan 139 140 /* 141 引用数据类型转string 142 1.对象 '[object object]' 143 2.数组 去掉[]和分隔逗号,剩下的内容用引号包起来形成字符串 144 3.函数 整个函数体加引号成为字符串 145 */ 146 console.log(string({})) // '[object object]' 147 console.log(string([])) // '' 148 console.log(string([1])) // '1' 149 console.log(string([1, 2])) // '1,2' 150 console.log(string([1, 2, 3])) // '1,2,3' 151 console.log(string(function () { })) // 'function () { }' 152 153 154 /* 155 引用数据类型转boolean 156 全为true 157 */ 158 console.log(boolean({})) // true 159 console.log(boolean([])) // true 160 console.log(boolean(function () { })) // true 161 162 163 164 //js显式类型转换 规律和原理总结 165 // 1.number()转数值类型的过程:先调用原生方法valueof,如果返回值是可以转化成数值的基本数据类型,直接返回整个结果,结束。如果返回值是非基本数据类型,根据调用原生方法tostring的返回字符串类型转化成最终的数值类型,结束。 166 // 2.string()转字符串类型的过程:先tostring方法,返回值。 167 //所以知道原理后,涉及到引用类型这种的,记住这些tostring的返回值就行了
上一篇: 文本备份云仓库-python实用脚本下载
下一篇: 常用模块 - openpyxl模块