JS 里的数据类型转换

顺便补充些小知识

0xff 前面的0是代表什么意思 后面的FF 是一个F 等于4个位 2个F 等于一个字节是这样么?
前面的0x表示是十六进制的,而ff是两个十六进制的数,每个f用二进制表示是1111,所以占四位,两个ff是一个字节.(byte),一个字节是8位二进制数
ASCII码:一个英文字母(不分大小写)占一个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数。换算为十进制 ,最小值-128,最大值127。如一个ASCII码就是一个字节。

JavaScript引擎不能自动识别编号大于0xFFFF的Unicode字符 对
“".length 为 2 是因为 "" 是两个字符 错
解析:他是一个字符,因为JavaScript引擎不能自动识别编号大于0xFFFF的Unicode字符,这个字符的编号是大于4个f的,js会先取出它的前16位然后认为是一个字符,然后后面的那些位认为是一个字符,这是js 的一个bug。
的长度为2是js在识别Unicode是存在bug

想到一些就写的小碎片

转字符串的一些方法

转字符串的方法toString null没有toString方法,没这个属性,undefined也没有toString属性
obj的toString方法并不能得到你想要的那个东西,只能得到这个:
“[object Object]”。对象toString是可以的,但是结果不是我们想要的,注意后面的首字母是大写

数字1想变成字符串‘1’加上一个空字符串就好了,布尔值想变字符串加一个空字符串就好了。 null没有toString用加空字符串的方法就可以实现变成字符串。undefined也是
加号如果发现左右任意一边有字符串,他就会尝试把另一边的也变成字符串。加号总是希望能得到两个字符串
1+‘1’=字符串‘11’,加号有拼接字符串的作用
变字符串的方法中,与空字符串相加功能是比较方便的一种,可以对null和undefined使用,还有一种就是String(),也可以对null和undefined使用

变boolean的方法

true=!!true true取反两次还是true, 任何东西取反两次就可得到一个布尔。这两个感叹号就和Boolean的功能差不多。用两个感叹号,少打几个字

变布尔的时候有5个特殊值,这些值都是false,number里面0和NaN,string里面‘’(空字符串),null和undefined。
object(包含数组和函数)全部都是true,空对象也是true

变number的方法

一个数据-0可以变成number
parseInt 和parseFloat Number方法
数据前面加个+号,注意这是正号不是加号

parse就是解析的意思
任何一个东西减0就会得到一个number。还有在前面加个正号(+)也行
面试parseInt是重点,parseInt它会从头开始能parse多少就parse多少,一旦遇到不能parse它就返回,后面那个参数不写默认是10进制。可以传两个参数。

你可能感兴趣的:(JS 里的数据类型转换)