# Document

1.五大主流浏览器 以及内核

浏览器 | 内核
--- | ---
Ie | trident
Firefox | gecko
Chrome | Webkit/blink
Safari | Webkit
Opera | presto

2.js 特点

- 是一种解释性语言 写完不需要编译 可以直接运行
- 是单线程的 单线程 同一个时间只能做一件事

3.js 构成

- ECMAscript 语言规范
- dom 节点树 对节点操作
- bom 浏览器暴露的接口 window.location.href

4.规范：

结构 样式 行为相分离

引入方式上 尽量选择外部引入

结构 | HTML
样式 | CSS
行为 | JS

5.js 引入 （一） html 文件内嵌
（二） 外部引入

总结：如果同时使用内嵌和外部引入的方式引用 js 那么只有外部引入的方式能起作用

6. 变量和常量 区别：变量的值能改变 常量的值不能改变

6-1. 变量（varible） 声明变量 var var a=1; var a; a=1

声明多个变量 var a=1,b=2,c=3;

7.数据类型 原始值 number string undefined boolean null

引用值 object

原始值和引用值的区别： 原始值在栈里 如果赋给另一个变量 另一个变量的值发生了改变 这个变量值不变

引用值在堆里 如果赋给另一个变量 另一个变量的值发生了改变 这个变量值也会变

String() toString() 把目标转成字符串 Number() 把目标转成数字 parseInt() 转成整数 parseFloat() 转成小数