浏览器组成:shell部分(外壳部分)、内核部分(渲染引擎、js引擎、其他)
主流浏览器: 内核:
IE trident
Chrome Webkit/blink(2014年)
FireFox Gecko
Opera presto
Safari Webkit
js组成:BOM、DOM、ECMAScript
值类型:原始值(Number、Boolean、String、undefined、null)和引用值(array、Object、function、data、RegExp等等)
注意不同:原始值和引用值赋值形式不同 原始值用栈(stack)、引用值大多用堆(heap)
<script type="text/javascript">
var a = 10;
var b = a;
a = 20;
console.log(b); //10
var arr = [1];
var arr1 = arr;
arr.push(2);
console.log(arr1); //1,2
</script>
图解:
注意:
<script type="text/javascript">
var arr = [1,2];
var arr1 = arr;
arr = [1,3];
console.log(arr1); //1,2
</script>
图解:
更深的理解:实际的原始值存放(特点:不可改变的原始值)
图解:
(a值改变时,以前的栈数据是不会改变的)