JS的数据
JavaScript的历史
1 | Branden Eich JS之夫 擅长函数式 第一次叫Mocha,第二次叫LiveScript,最终叫JavaScript ,表面看起来像Java,只花了十天时间,1995年圣诞节左右发布 |
opional chain语法
1 | console.log(obj?.a?.b?.c?.name)<==> |
js数据类型
有7种数据类型
- 数字(number)
十进制 1.23e2==>1.23*10^2 ,二进制 0b开头的 八进制0开头 011==>9 十六进制0x开头 字符串(string)
“你好” ‘你好’, ‘’ “”空字符串length为0,’ ‘ “ “空格字符串length为1,回车是一个字符,length=1
转义 var a= “‘“==>’\’’(a赋值单引号),\就是转义符 \n–>回车 \t–>制表符(tab键) \–>斜杠==>length为1
多行字符串(不是字符串里有回车)1
2
3
4
5
6var s='12356\ \后面不能有空格,坑人语法
67890'
var s2='12356’+ 这个比较好
‘67890'
var s3='12356
67890'会报错ES6推出
var s4=反引号开头可以写多行字符串反引号结尾,里面不能有空格- 布尔(boolean)
数学家Boolean发明的逻辑学(下雨上课没带伞,得了肺病去世了)
布尔值 true(真) false(假) &&与运算 ||或运算
真值表 a&&b 只有a和b都是真,结果才是真,其他都是假,a||b 只有a和b都是假,结果才是假,其他都是真 - symbol(符号)
- null 空值,意思什么也没有 js原创
- undefined空值,意思什么也没有 js原创
null和undefined区别:- 变量没有赋值–>undefined
- 有一个对象object,现在不想赋值,那么推荐就给个null(var obj=null),有一个非对像,不想给值,推荐初始化undefined
- 对象(object)
array(数组),function(函数)属于object,哈希(hash) ,哈希表{“key”:”value”}
其他6个类型都叫基本类型(简单类型),object叫复杂类型。是由简单类型组成的1
2
3
4var name='york' 语法是var person = {'name':'frank'
var age=24 ==> 'age=24',
var gender='male' 'gender':'male'}
单引号可以省略,冒号前边都是字符串,person['name']==>person.name(特例) 单引号不能省略
知识点
1 | var name='fuck', person[name]==>person['fuck'] |
- for(var key in person) 遍历对象,key打印出key,person[key]打印出value
- {self=person}可以包含自己 person.self.self.self.self.name 也是可以成立的
- 对象里{可以包含 字符串:undefined||null||布尔||对象}
- key可以是空字符串,{‘’:’York’}。引用person[‘’]
- 标识符原则(变量名):1.变量第一个字符不能是数字,字符串可以 2.中间不能是空格3.必须是合法字符
{9a:’york’} 如果key不加引号,那么必须按照标识符原则(变量名),9a和a b必须加引号,要不然会报错 - 变量的类型 typeof 识别变量的类型
t={} ;typeof t;”object”
BUG: 1.typeof null ;”object” 2.typeof fn; “function” - 我想知道变量 a 是否已经声明过(值为 undefined 不代表没有声明过),应该用 if (‘a’ in window) { … }
Comments