Programming From Scratch(聊天记录摘录)

 那我开始讲了啊

λCrLF·º⁷¹º 2016/7/31 21:55:27

嗯,随便举一个语言的例子

λCrLF·º⁷¹º 2016/7/31 21:55:39

这个名叫JS,嗯你先不用管名字

λCrLF·º⁷¹º 2016/7/31 21:56:06

首先是机器里的“东西”

λCrLF·º⁷¹º 2016/7/31 21:56:34

“东西”一共有六种,这是一个大致的分类,

λCrLF·º⁷¹º 2016/7/31 21:57:11

第一种叫做undefined

λCrLF·º⁷¹º 2016/7/31 21:57:25

字面意思是“未定义”

λCrLF·º⁷¹º 2016/7/31 21:57:56

其实所有的未定义都是同一个东西,我们就管他叫undefined

λCrLF·º⁷¹º 2016/7/31 21:58:19

表示一个我们不感兴趣的东西

λCrLF·º⁷¹º 2016/7/31 21:58:34

第二种和它很相似

λCrLF·º⁷¹º 2016/7/31 21:58:54

只是意义不同,它叫做虚无,null

λCrLF·º⁷¹º 2016/7/31 21:59:21

所有的null也都是同一个东西

λCrLF·º⁷¹º 2016/7/31 21:59:56

第三种叫做boolean ,嗯这是一个人名,是一个科学家,好像是逻辑学家吧

λCrLF·º⁷¹º 2016/7/31 22:00:18

所有的boolean 一共就有两个东西

λCrLF·º⁷¹º 2016/7/31 22:00:26

一个是true,一个是false

λCrLF·º⁷¹º 2016/7/31 22:01:04

分别表示真,和假。你可以认为是“符合预期”和“不符合预期”

λCrLF·º⁷¹º 2016/7/31 22:01:18

我们做决策的时候会用到

λCrLF·º⁷¹º 2016/7/31 22:02:04

第四种叫做string,字面意思是串,有一根线的意思

λCrLF·º⁷¹º 2016/7/31 22:02:37

其实就是一些字

λCrLF·º⁷¹º 2016/7/31 22:03:11

里面的一个单元是一个字符,可以是英文字母,汉字,或者标点符号,或者什么的

λCrLF·º⁷¹º 2016/7/31 22:03:50

其实这是大多数情况,个别的稀有文字是用两个单元来表示的

λCrLF·º⁷¹º 2016/7/31 22:04:13

比如一些古代的或者一些小的国家的文字,会用到两个单元

λCrLF·º⁷¹º 2016/7/31 22:04:57

比如"你好"  就是长度为2的一个string,"hello" 是长度为5的一个string

λCrLF·º⁷¹º 2016/7/31 22:05:16

诸如此类的

λCrLF·º⁷¹º 2016/7/31 22:05:27

第五个类别是叫做number,就是数字啦

λCrLF·º⁷¹º 2016/7/31 22:06:01

可以是一个正数,可以是一个负数

λCrLF·º⁷¹º 2016/7/31 22:06:15

啊,由于计算机的设计限制,它是有一个精度限制的

λCrLF·º⁷¹º 2016/7/31 22:07:01

比如,你想说1. 0000(100个0)0005

λCrLF·º⁷¹º 2016/7/31 22:07:16

是做不到的,可能多半会用1来表示

λCrLF·º⁷¹º 2016/7/31 22:07:36

还有一点特别的是,有几个特殊的数字

λCrLF·º⁷¹º 2016/7/31 22:07:40

包括:

λCrLF·º⁷¹º 2016/7/31 22:07:44

-0

λCrLF·º⁷¹º 2016/7/31 22:07:55

+Inf  (正无穷

λCrLF·º⁷¹º 2016/7/31 22:08:02

-Inf  (负无穷

λCrLF·º⁷¹º 2016/7/31 22:08:20

还有一个神奇的数字叫做NaN(无效数字)

λCrLF·º⁷¹º 2016/7/31 22:08:43

比如1除以0就得到了正无穷

λCrLF·º⁷¹º 2016/7/31 22:09:14

log10(-2) 就得到了NaN

λCrLF·º⁷¹º 2016/7/31 22:09:34

-3 除以0就得到了负无穷

λCrLF·º⁷¹º 2016/7/31 22:10:11

反正比较奇特啦

λCrLF·º⁷¹º 2016/7/31 22:10:18

这里面有一个神奇的性质

λCrLF·º⁷¹º 2016/7/31 22:10:27

NaN 和自己是不相等的……

λCrLF·º⁷¹º 2016/7/31 22:10:32

它和什么都不相等

λCrLF·º⁷¹º 2016/7/31 22:11:11

第六个类别是object ,物体,国内翻译成对象

λCrLF·º⁷¹º 2016/7/31 22:11:38

与前五种不同

λCrLF·º⁷¹º 2016/7/31 22:11:45

它是现场造出来的

λCrLF·º⁷¹º 2016/7/31 22:12:16

所以你会有一种可数的感觉

λCrLF·º⁷¹º 2016/7/31 22:12:32

觉得系统里面object的总数是固定的

λCrLF·º⁷¹º 2016/7/31 22:12:42

它比较神奇

λCrLF·º⁷¹º 2016/7/31 22:12:48

里面有内部结构

λCrLF·º⁷¹º 2016/7/31 22:13:14

内部结构存储的是key 和 value的对应关系

λCrLF·º⁷¹º 2016/7/31 22:14:06

{ '姓名': '薛二狗', '年龄': 20, '坏蛋': true }

λCrLF·º⁷¹º 2016/7/31 22:14:12

这就是一个对象

λCrLF·º⁷¹º 2016/7/31 22:15:17

key 是前面说到的string表示的

λCrLF·º⁷¹º 2016/7/31 22:15:26

value则是六种都可以

λCrLF·º⁷¹º 2016/7/31 22:15:52

一个对象里面的这种对应会有若干个,可以增加删除修改

λCrLF·º⁷¹º 2016/7/31 22:15:52

一个对象里面的这种对应会有若干个,可以增加删除修改

λCrLF·º⁷¹º 2016/7/31 22:16:15

第一节讲完啦,有没有问题
 

posted on 2016-07-31 22:28  CrLF0710  阅读(234)  评论(0编辑  收藏  举报

导航