ES5-1 发展史、ECMA、编程语言、变量、JS值

1. 5大主流浏览器及内核(自主研发)

浏览器内核
IEtrident
Chromewebkit blink
Safariwebkit
Firefoxgecko
Operapresto

2. 浏览器的历史 和 JS诞生

  1. 1989-1991 WorldWideWeb(后来为了避免与万维网混淆而改名为Nexus)是世界上第一个网页浏览器及所见即所得网页编辑器,由万维网的发明人蒂姆·伯纳斯-李开发
    在这里插入图片描述

v8
直接翻译机器码
独立于浏览器运行(Node.js 就是一个基于 Chrome V8 引擎的 JavaScript 运行环境。)

3. ECMA

  • European Computer Manufactures Association
  • 欧洲计算机制造联合会
  • 评估、开发、认可电信、计算机标准
  • ECMA - 262 脚本语言规范 ECMAScript
  • ES5 ES6
  • 规范化脚本语言

4. 编程语言

编程语言(高级语言)→ 需要翻译成机器能理解的0 1
类型一:编译型:源码 → 编译器 → 机器语言 → 可执行文件(执行前全翻译完了)

  • 有跨平台移植问题
  • 速度快(银行系统、电商系统)C C#

类型二:解释型:源码 → 解释器 → 解释一行就执行一行

  • 有解释器就能运行,不需要根据不同的系统平台进行移植

脚本语言 → (有对应的)脚本引擎 → (必须通过)解释器(解释后立即执行)

  • JavaScript 客户端脚本(F12检查源码能看到)
  • php 服务端脚本(php和js代码,f12是看不到php源码的部分)

ECMAScript
DOM - document object model W3C规范
BOM - browser object model 没有规范

大部分js代码通过外部引入的方式

// html代码块中
<body>
    <script type="text/javascript" src="js/index.js">
        document.write('只执行引入的js代码')
    </script>
</body>

5. 变量

  1. 单一声明方式: 一个var声明多个变量
  2. 运算优先级高于赋值 var z = x + y (先做加再赋值)
    在这里插入图片描述

1. 命名规范:

  1. 不能以数字开头
  2. 可以以字母 _ $开头
  3. 可以含字母 _ $``数字
  4. 不能使用关键字、保留字
  5. 语义化、结构化 js_header J_header
  6. 变量名小驼峰myEnglishName

2. JS的值

2.1 原始值

  1. 原始值 → 基本类型:Number String Boolean undefined null(最后两个,只有一个值)
  2. JS根据值判断数据类型(弱类型语言)
  3. 动态语言 → 脚本语言 → 解释型语言 → 弱类型语言
  4. 静态语言 → 编译型语言 → 强类型语言
  5. 除了null,其余原始值可以通过typeof得到类型(typeof null → ‘object’)
  6. 当函数无明确返回值时,返回的也是值 “undefined”
  7. 值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的。(null == undefined true)
  8. 尽管所有整数都可以表示为八进制或十六进制的字面量,但所有数学运算返回的都是十进制结果。
  9. 与无穷大一样,NaN 也不能用于算术计算。NaN 的另一个奇特之处在于,它与自身不相等
// 数字类型没有length属性
1.length // Uncaught SyntaxError: Invalid or unexpected token
  • 原始值没有属性,而值为数字类型的变量,可以调用方法,中间经过了基本包装类的处理
// 值 undefined 并不同于未定义的值。但是,typeof 运算符并不真正区分这两种值
var oTemp;

alert(typeof oTemp);  //输出 "undefined"
alert(typeof oTemp2);  //输出 "undefined"

// 如果对 oTemp2 使用除 typeof 之外的其他运算符的话,会引起错误,因为其他运算符只能用于已声明的变量上。
var a = 3
var b = a
a = 1
// 原来a占据的1008空间还原,但是数据没有删除
// 原始数据类型:数据不可改

在这里插入图片描述

var arr1 = [1,2,3,4,5]
var arr2 = arr1

在这里插入图片描述

// 重新赋值arr1 原来1005空间释放,数据还在
arr1 = [1,2]

在这里插入图片描述

ECMAScript 的字符字面量

在这里插入图片描述

2.2 引用值

  1. object array function date RegExp
    正则 Regular Expression

参考链接
网景百科
JS引擎
chrome
v8引擎
SUN公司
Oracle
W3C ECMAScript
ECMAScript原始类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值