美文网首页
JS的历史及JS 里的数据类型

JS的历史及JS 里的数据类型

作者: Save_Onfir3 | 来源:发表于2018-08-06 22:13 被阅读0次

JS的历史

1991年李爵士发明了WWW万维网;
1992年李爵士的同事发明了CSS;
1995年网景(Netscape)发布了一款浏览器-navigator,此浏览器是第一款能支持脚本的浏览器,发明人叫做:Branden Eich (JS之父)
ps:当时网景公司想借助java的知名度,所以将语言名称改成JavaScript,在此之前它叫做live script,并且与sun公司协商两款语言一起发布。

1996年微软发布额IE浏览器,并仿JavaScript发明了一个语言,叫做JScript,功能与前者基本一致。
ps:与此同时网景公司被微软打败了,于是就开源,成为了Firefox,并在开源的同时向ESMA(欧洲计算机制造业协会)申报标准。

   在IE5.5的时候推出了一个重磅的功能,微软推出了JS发请求的功能。(但并没有很多人注意,而且只是微软在用)

2004年Gmail利用微软发明的JS发请求的功能,做了一个网页上的程序。
ps:在这之后,前端职业开始兴起,中国是在2010年左右才开始兴起前端,并大多是由后端转职。

pss:在前端火起来以后,人们逐渐发现了JS不行,因为它几乎全部都是全局变量(互相覆盖,互相干扰,没有模块化)导致项目一大,就容易出现bug,再有就是因为它的标准不行(内置代码不够多)
,然后ECMA升级了它,命名为ECMAScript 5.

ECMAScript 4 因为步子太大胎死腹中。
ECMAScript 5 又被吐槽步子迈的太小。
ps:Ralis社区的人们发明了coffee script,作为JS改良版,在里面注入了类,箭头函数,opiond chain语法。

ECMAScript 6 的步子迈的就合适了,至此终于成了一个现代编程语言。

JS是一个集大家之所长的语言
“JS原创之初并不优秀,优秀之处并非原创”
“JS现在是每年一更”

JS把还没有写进规范的特性已经用在了代码中
例:当Y1被谷歌,火狐,IE都在使用的话,ECMA就会把Y1收入到规范中,如果Y2只有在谷歌使用,其它浏览器不支持,也没有写在规范里就可以通过Babel来转义。

JS的数据类型

JS有7种数据类型

1.数字,或称数值(number)2.字符串(string)3.布尔值(boolean)4.Symbol 5.null 6.undefined 7.对象(objet)
由此可知,JS里一切皆对象是错的,因为除了对象,还有另外六种数据类型。

number:

十进制:1,1.1,.1,1.23e2
二进制:0b1,0b11 以0b(0B)开头
八进制:以0开头
十六进制:以0x(0X)开头

string:

'你好' "你好"
'.' "." .=空的,什么都没有
空字符串
' ' " "
空格字符串

空字符串和空格字符串的区别是它们的长度不一样。空字符串的长度为0,空格字符串的长度为1.

字符串的转义
用一个\告诉浏览器,这个符号不代表结束

\=转义符
var a = '\'' = 单引号
var n = '\n' = 回车
var t = '\t' = Tab(制表符)
当想表示\的时候,可以用转义符来表示转义符
例:
var b = '\\'

多行字符串:(不是字符串里有回车)←JS抄袭额命令行里的\回车

例:
var s = '12345
67890'
如果不用\直接这样写就会报错。
另外一种打回车的方式:
例:
var s2 = '12345'+
'67890' (一般来说第二种方法更好)
ES6使用反引号就可以直接写多行字符串了(反引号就是大键盘1左边的符号)
例:
var s3 = 12345 67890 →包含回车,所以它有11个字符,长度为11

布尔(boolean):

ture / false
真 / 假
&& :与运算 例:a&&b,a为真b为真则成立,否则不成立
|| : 或运算 例: a||b,a和b有一方为真则成立,否则不成立

null和undefined,它两都是类型,它们的值就是它们本身,两个值的意思都是一样的,就是什么也没有

它们的区别:
①如果一个变量没有赋值,它就是undefined。这属于是语法。
②如果你想有一个object,但是现在不想赋值,那就可以给它一个null(也可以给undefined,但是null是推荐值),有一个非对象,不想赋值,就推荐给它一个undefined,这属于惯例。
总结:null表示空对象;undefined表示非空对象。

对象(object):

对象就是hash表。

     JS中前六种类型都属于基本类型,因为它们没有对象的概念,就只是一个值。object是复杂类型,复杂类型是由简单类型组成的。

语法是以花括号开头,以花括号结尾

例:{
      name : 'onfire'
      'age' : 18
}  //左边不管加不加单引号永远都是字符串,空字符串也可以当作key,如果不加引号的话key就必须按照标识符原则,key加了单引号就功能多,不加单引号就方便一点。

要读它的话就是

  person['name'] //单引号不能省

删除key用

delete person['name']

如果使用

person['name'] = undefined

只会把value变成undefined,而key还存在。

使用

for(var key in person){
    console.log(key)  
}

来遍历对象里的所有key,但顺序是完全看运气的。
使用

for(var key in person){
    console.log(person[key])  
}

来遍历对象里的所有value,顺序也是完全看运气的。

typeof的bug
type of null 返回的是'object'
type of function返回的应该是'object'但是它返回的却是'function'
以上两个都是JS里的bug。

相关文章

  • JS的历史及JS 里的数据类型

    JS的历史 1991年李爵士发明了WWW万维网;1992年李爵士的同事发明了CSS;1995年网景(Netscap...

  • js数据类型

    JS基本数据类型和引用数据类型(JS 基本数据类型和引用数据类型的区别及浅拷贝和深拷贝) 再讲 js 的基本数据类...

  • Java EE之旅03-JS基础(上)

    JS学习大纲 JS简介 1、js是什么 2、js能做什么 3、js历史及组成 4、js被引入的方式 js基本语法 ...

  • 原生js

    原生JS学习笔记1——基本数据类型和运算符 js的背景知识介绍,js的引入方式,js的变量及运算符 原生JS学习笔...

  • 前端资料

    ES6新数据类型 Symbol . js变量提升函数提升 js this js 原型及原型链理解 new做了什么 ...

  • JS 里的数据类型

    JS 里的数据类型 JS中有七种数据类型,分别是:number,string,boolean,undefined,...

  • JavaScript 01 (JS引入/变量/数据类型/类型转换

    JS的引入及调试,常量,字面量,变量,JS中的数据类型,JS的运算符,JS的运算符之隐式类型转换,强制类型转换,M...

  • JS 里的数据类型转换

    JS 里的数据类型转换 Js中的数据类型一共有7种,即number,string,boolean,underfin...

  • js入门知识点

    * 基础知识 * js的输出方式 * js的组成 * js的命名规范 * 数据类型 * number数据类型 * ...

  • JS 基础之数据类型

    JS 的历史 数据类型 七种数据类型(请背诵):number string boolean symbol unde...

网友评论

      本文标题:JS的历史及JS 里的数据类型

      本文链接:https://www.haomeiwen.com/subject/dslnvftx.html