ECMAScript-1【发展史-ECMA-编程语言-变量-JS值】
一.发展史及浏览器内核
- 1990年览器诞生,蒂姆伯纳斯李 超文本分享资讯的人world wide web 移植到C libwww/nexus允许别人浏览他人编写的网站
- 1993年 美国伊利诺大学NCSAZ组织(马克 安德森)开发了MOSIAC浏览器显示图片,图形化浏览器
- 1994年 马克安德森和吉姆克拉克(硅图SGI),成立了一个公司MOSIAC communication corporation corporation标权属于伊利诺大学,伊利诺大学把MOSIAC转卖给了spy glcass 网景公司->netscape navigator
- 1996年 微软的公司收购了spy glass,然后在MOSIAC内核开发出来了 IE internet explorer1.0,同年IE3发布了 Jscript脚本语言,网景公司Brendan eich在netscape navigator 开发出了livescript(JS)的前身,JAVA火起来,网景livesript不温不火,后面就和SUN公司,合作推广和宣传产品,livesript 更名为javascript
- 2001年 IE6和XP诞生,出现了JS引擎
- 2003年 Mozilla公司 firefox 是根据netscape avigator复制出来的
- 2008年 google基于webkit blink GEARS离线上网,开发出来chrome浏览器 ->V8引擎JS引擎非常牛逼:a直接翻译机器码、b独立于浏览器运行
- 2009年 甲骨文oracle收购了SUN公司,JS的所有权给甲骨文
二.ECMA
ECMA 全称 European Computer Manufactures Association
三.编程语言
(1).脚本语言:
(2).编程四要素:
(3).强类型弱类型
(4).前后端脚本
(5).IE的jscript
(6).JS内容
(7).轮转时间片
(8).模板
四.变量
(1).命名规范:
五.JS的值
(1).原始值(基本类型)
(2).引用值
- 名称存于栈,数据存于heap,但其中名称指向栈
- 赋值时到其他变量时其他变量在栈中开辟空间指向原始堆处不会另行开辟堆空间
- 当原始数据发生变化,被赋值的变量值会改变
- 当原始数据被重新赋值将会在栈和堆中开辟空间
var arr1 = [1, 2, 3, 4]; var arr2 = arr1; arr1.push(5); //此时arr2也是[1 2 3 4 5 ]
var arr1 = [1, 2, 3, 4]; var arr2 = arr1; arr1 = [1, 2] //此时arr2是[1 2 3 4 ] 与后面赋值的无关了