浏览器分两部分,一部分是shell(外壳),另一部分是内核。
IE ---------------- trident
Chrome ---------------- blink
firefox ----------------- Gecko
Opera ----------------- presto
Safari ----------------- webkit
JS是解释性语言,一行一行解释。单线程。编程语言(有变量,有函数,有数据结构,可以进行基本的运算。)
引入JS文件:1)页面级JS文件;2)引入外部JS文件。
变量:冰箱(存放以后会用的东西)并不是垃圾箱(存放没用的东西),存放后续还会用的东西的筐。
var a; 变量声明,向系统要一个放东西的地方,这个地方的名字(门牌号)叫a。
a=100;把100放到筐里, 把100的值赋给a。就像去酒店开房,然后人进入房间,就是变量声明(申请一个房间),赋值(人进去)。
var a=100;要房间,和人进去,是两个过程,没必要非得连在一起。
var a = 100,
b = 200,
c = 800,
d = 20,
e = 30;同时申请多个变量,同时开不同的房间,
var a=10;
a=20;
a="abc"; 给变量换值,下面的值会覆盖上面的值,冰箱里原来是茄子,换成西红柿。茄子就被拿出去了。
// 原始值 stack 栈 栈内存,存放变量空间,有低无顶的盒子。先进去的,最后出。栈内存和栈内存之间的关系是拷贝。
数据类型
// number Boolean String undefined null
var a = 23.4;数字类型
var="abc";字符串形式 ,双引号内都是字符串
var=true;布尔类型 印度人发明了数字,阿拉伯人利用印度人发明的数字,发明了加减法逻辑,形成数字系统,所以叫阿拉伯数字。 计算机的基本语言就是机械码01010101,八位01组成一个字母。 布尔发明了对立逻辑 true 1 false 0
undefined 未定义
null 占位,用null覆盖原来的东西。覆盖原来变量空间里的东西。
// 引用值 heap 堆 堆内存,
array boject function...
var arr=[1,2,3,4,5,false,"abc"]
// 原始值 stack 栈 栈内存,存放变量空间的地方,有低无顶的盒子。放原始值,和堆内存的地址。
从栈内往外拿东西,先进去的,最后出。裤兜装东西一样。
栈内存和栈内存之间的关系是拷贝。 副本,把一个栈里的东西,放到另一个栈里,是拷贝。
// 引用值 heap 堆 堆内存 放引用值,储物格子,散列结构,怎么放怎么拿。引用知拷贝的是地址。
输出 b=10;
输出的arr1是[1,2,3]
arr1=[1,2]
上个例子,是调用方法,往数组里插入东西;现在这个例子是一个新的房间;
每一行JS语句用";号"结束,告诉系统这一行结束了,可以解释执行了。
一个html里可以放多个JS代码块;
+ 除了有数字相加的功能,还有字符串相加拼接的功能,加号是连接的作用。任何数据类型加字符串都等于字符串。
a="a"+1+1 a=a11 从左到右顺序计算。
NAN 非数字
var a=10
var b=20
a=b+1
先运算右边b+1的值,再把值赋给左边的a.赋值的顺序从右向左
a=a+1相当于 a++ 自身加一,再赋给自身