JavaScript
day1
发展史
1996年首次出现
最早是livescript-->因市场宣传关系改为JavaScript
主要跟浏览器打交道(专业素养)
Mosaic(马赛克)------>Netscape Navigator
浏览器组成部分
1、shell (贝壳)
2、内核(渲染引擎、js、)
渲染引擎(语法规则和渲染)
js(解释性语言) 编译性语言:优点 快;缺点 不跨平台 移植性不好 c c++
解释性语言:优点 跨平台 ;缺点 稍微慢 javascript php
主流浏览器 主核
IE trident
Chrome webkit/blink
firefox Gecko
Opera presto
Safari webkit
单线程 双线程
同步 在同一时间做多件事情
异步 在同一时间做一件事情
js三大部分
ECMAScript
DOM
BOM
引入js
1.页面内嵌<script></script>标签
2.外部引入<script src="location"></script>
结构HTML 行为js 样式css 相分离
一个文件里面可以引入多个js
不能两个方法一起引用
js基本语法
变量 var 全名variable
变量声明 命名规则
变量名必须以 英文字母、_、$开头
变量名可以包括英文字母、_、$、数字
不可以用系统的关键字、保留字作为变量名
原始值 栈stack
Number Boolean String undefined(无定义) null
引用值 堆heap
array Object function ... date RegExp
原始值和引用值赋值形式不同
栈stack 先进去的对象最后一个出来 互相不影响
堆heap 改一个另一个跟着变
错误
低级错误:语法解析错误 语法错误 一行都不会执行
逻辑错误:执行到错误的那行会终止
js语法错误会引发后续代码终止,蛋不会影响其他js代码块
js运算符 + - * / % ( NaN非数 Infinity无穷)
“+”:数学运算、字符串连接
“%”:摩尔 取余数
"( )" :优先级最高
"++":自身加1 a++ ++a
“--” :自身减1 a-- --a
赋值的顺序,自右向左 计算的顺序,自左向右