前端探索 | 数据类型和运算符

数字与字符串

都是一,为什么要分 1 和 '1'

功能不同
  • 数字是数字,字符串是字符串
  • 数字能运算,字符串不行
  • 字符串能表示电话号码,数字不行
存储形式不同
  • JS中,数字是用64位浮点数形式存储的
  • JS中,字符串是用类似UTF8形式存储的(UCS-2)

数字的存储

将所有的十进制转换成二进制
二进制与十进制之间的转换
因为二进制写起来太慢,用十六进制表示二进制
HEX十六进制,BIN二进制,OCT八进制,DEC十进制

字符的存储

用0~127表示键盘所有符号
特殊的有:0 用48表示;A 用65表示;a用97表示
中文字符编号【国标2312】
0000~FFFF表示汉字
微软进行了国标扩【GBK】
还有好多文字不能显示,推出Unicode

  • 优点
    收录了13万的字符(大于16位),全世界通用
    以后还会继续扩充,不会停止
    最新版本添加一个字 令和
  • 缺点
    两个字节不够用,每个字符要用三个及以上字节
    所有文件都扩大50%,不划算
    关于缺点的解决方法UTF-8

JS中的数据类型

七种(大小写无所谓)

数字number
字符串string
布尔bool
符号symbol
空undefined
空null
对象object
总结:四基两空一对象

以下不是数据类型

数组、函数、日期
它们都属于object

数字number

写法
  • 整数写法
    1
  • 小数写法
    0.1
  • 科学计数法
    1.23e4
  • 八进制写法(较少)
    0123,00123,0o123
  • 十六进制写法
    0x3F,0x3F
  • 二进制写法
    0b11,0B11
特殊值
  • 正0不同于负0
    数除以0或正0是正无穷,除以负0是负无穷
  • 无穷大
    Infinity,+Infinity,-Infinity
  • 无法表示的数字
    NaN(Not a Number)
    但是他是一个数字
64位浮点数
  • JS数字的存储形式
    浮点就是浮动的点,意思就是小数点会乱动
    123.456可以表示为1.23456e10^2
    也可以表示为12345.6e10^-2


    64位
  • 64位存储一个number
    符号占1位
    指数占11位(-1023~1024)
    有效数字占52位(开头的1省略)
范围和精度
  • 范围(忽略符号位)
    指数拉满,有效数字拉满,得到最大二进制数字
    Number.MAX_VALUE: 1.7976931348623157e+308
    指数负方向拉满,有效数字最小1,得到最小值
    Number.MIN_VALUE: 5e-324
  • 精度(有效数字)
    最多只能到52+1个二进制表示有效数字
    2^53对应的十进制是9后面15个零
    所以15位有效数字都能精确表示
    16位有效数字如果小于90开头,也能精确表示
    9110000000000001就存不下来

字符串string

每个字符两个字节

写法
  • 单引号
    '你好'
  • 双引号
    "你好"
  • 反引号
    `你好`
  • 注意:引号部署一字符串的一部分,就像书名号不属于书名的一部分一样
转义
  • 错误写法
    'it's ok'
    JS引擎会认为'it'就结束了
  • 正确写法
    'it's ok' \这就是转义
    "it's ok"
    `it's ok`
  • 用另一种写法表示想要的东西
    \' 表示'
    \"表示"
    \n表示换行
    \r表示回车
    \t表示tab制表符
    \表示
    \uFFFF表示对应的Unicode字符
    \xFF表示前256个Unicode字符
多行字符串
  • 如果你想在字符串里回车
    let s = `这样是
    可以的
    用反引号很容易做到`
字符串的属性(对象才应该有属性,后面讲)
  • 字符串的长度
    string.length
    '123'.length //3
    '\n\r\m'.length //3
  • 通过下标读取字符
    string[index]
    let s = 'hello';
    s[0] //"h"
    注意index从0开始
    s[0]是第一个字符
    注意index到length
    let s = 'hello';
    s[5] //undefined不会报错
    s[4] //'o'

布尔bool

true 和 false,注意大小写

下列运算会得到布尔值
  • 否定运算
    !value
  • 相等运算
    1==2,1!=2,3===4,3!==4
  • 比较运算
    1>2,1>=2,3<4,3<=4
if 配 bool
  • if语句常常需要判断真假
    if(value){...} else{...}
  • 问题
    如果value不是bool值如何
    1是真还是假,0是真是假
    '1'是真是假,'0'是真是假
五个falsy值

falsy就是相当于false但又不是false的值
分别是:underfined null 0 NaN ''(''和' '不是一个东西)
除了这几个加上false其余都是真的

undefined和null两种类型

为什么有两种空(垃圾)

  • 没有本质区别
  • 如果一个变量声明了,但是没有赋值,那默认值就是undefined而不是null
  • 如果一个函数,没有写return,那么默认return undefined,而不是null
  • 习惯上把非对象的空值写为undefined,把对象的空值写为null
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容