JS的发展历史
- 1991年李爵士发明了万维网
- 1992年李爵士的同事发明了CSS
- 1993年李爵士发明了W3C
- 1995年网景公司(Netscape) Navigator脚本;同年Brendan Eich,“JavaScript之父”,用十天时间发明了JavaScript.
- 1996年微软在发布 ie3.0的版本上实现了自己的客户端语言JScript
- 1997年,以网景公司发布的javascript1.1为蓝本的建议提交给了欧洲计算机制造商协会也就是ECMA
- 1998年 ISO/IEC 也采用了ECMAScript作为标准
- 2004年Gmail是用JavaScript来写的,此时人们才开始认同它是一门编程语言
- 2009 年Rails社区(ruby语言社区)发明了coffeescript(JavaScript的改良版),开始有了类,箭头函数,opind chain语法...
- 2015年正式发布了ES6.
总结:JavaScript是集大家之所长的现代编程语言,JavaScript之父说过:JavaScript原创之处并不优秀,优秀之处并非原创。
数据类型
七种数据类型(请背诵):number, string, boolean, symbol, undefined, null, object
(注意:没有 array 类型也没有 function 类型)
- number
整数和小数:1 1.1 .1
科学记数法:1.23e2
二进制:0b11
八进制:011
(后来ES5添加了0o11语法)
十六进制:0x11
- string
空字符串:' '
多行字符串:
var s = '12345' +
'67890' // 无回车符号
或
var s = `12345
67890` // 含回车符号
-
boolean
只有两个值:true和false
a&&b在a和b都为true时,取值为true;否则为false
a||b在a和b都为false时,取值为false;否则为true -
symbol
保证每个属性的名字都是独一无二的,从根本上防止属性名的冲突。
详情请参考:方应杭:JS中的symbol是什么 -
undefined和null
- 相同点:都表示没有值。
- 不同点:i. (规范)如果一个变量没有被赋值,那么这个变量的值就是 undefined;
ii.(习俗)如果你想表示一个还没赋值的对象,就用 null。如果你想表示一个还没赋值的字符串/数字/布尔/symbol,就用 undefined(但是实际上你直接 var xxx 一下就行了,不用写 var xxx = undefined)
- object
- object就是上面几种基本类型(无序地)组合在一起
- object里面可以有object
var person = {
name:'Frank' ,
'child' :{
name: 'Jack'
},//最后这个逗号可有可无
}
- object 的 key 一律是字符串,不存在其他类型的 key
- object[''] 是合法的
- object['key'] 可以写作 object.key
- 注意 object.key 与 object[key] 不同
- delete object['key']
- 'key' in object
- typeof 操作符
xxx的类型 | string | number | boolean | symbol | undefined | null | object | function |
---|---|---|---|---|---|---|---|---|
typeof xxx | 'string' | 'number' | 'bollean' | 'symbol' | 'undefined' | 'object' | 'object' | 'function' |
注意 : function 并不是一个类型
网友评论