解释型语言:程序执行之前,不需要编译就可以直接运行, 运行时再边解析边执行的语言
User Interface 用户界面,我们所看到的浏览器
Browser engine 浏览器引擎,用来查询和操作渲染引擎
Rendering engine 用来显示请求的内容,负责解析HTML、CSS,并把解析的内容显示出来
Networking 网络,负责发送网络请求
JavaScript Interpreter(解析者) JavaScript解析器,负责执行JavaScript的代码
UI Backend UI后端,用来绘制类似组合框和弹出窗口
Data Persistence(持久化) 数据持久化,数据存储 cookie、HTML5中的sessionStorage
组成:
ECMAScript:JavaScript的语法标准
DOM(Document Object Model):JavaScript操作网页上的元素(标签)的API
BOM(Browser Object Model):JavaScript操作浏览器的部分功能的API
- 通过BOM可以操作浏览器窗口,比如:弹出框、控制浏览器跳转、获取分辨率等
常见样式:
弹窗: alert("hello world"); prompt("请输入内容:"); confirm("你好吗?");
内容: document.write("hello world2");
控制台: console.log("hello world3"); console.error("错误信息"); console.warn("警告信息");
变量、常量:
常量: 固定不变的数据
常量类别: 整形常量(123、a11b001等各种进制整数)、实型常量(3.23、6.66等小数)、布尔常量(true、false)、字符串常量("a"、"lnj"等单/双引号括()起来的字符;
变量: 可变化的数据;
变量定义:
//let num = 666;
let num;
console.log(num);// undefined
// 如果变量没有初始化, 里面存储的是undefined
关键字、保留字、标识符:
关键字: 被赋予特殊含义的单词
- 关键字在开发工具中会显示特殊颜色;
- 关键字不能用作变量名、函数名等;
- 关键字严格区分大小写, var和Var前者是关键字, 后者不是;
保留字: 虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字
标识符: 指程序员在程序中自己起的名称(诸如: 变量名称,函数名称等);
标识符命名规则:
- 只能由26个英文字母的大小写、10个阿拉伯数字0~9、下划线_、美元符号$组成;
- 不能以数字开头;
- 严格区分大小写,比如test和Test是2个不同的标识符;
- 不可以使用关键字、保留字作为标识符;
- JS底层保存标识符时实际上是采用的Unicode编码,所以理论上讲,所有的utf-8中含有的内容都可以作为标识符;
- 变量的命名遵守驼峰命名法,首字母小写,第二个单词的首字母大写