基本类型和引用类型的值
a)动态的属性 创建对象: 1》构造函数创建:new Object 2》字面量创建:{} 对象添加属性:对象.属性名称=值 对象添加方法:对象.方法名称=function(){} b)复制变量值 1》引用类型:如果是赋值的状态,引用类型是公用一个对象则互相影响
2》基本类型:如果是赋值状态,相当于是复制了一个副本(克隆版) 2个变量都是单独的则互相不影响
c)传递参数 函数(参数) : 参数===》只能传递值 d)检测类型: instanceof===》返回布尔值 如果匹配返回true 如果不匹配返回false *******javascript存储********** 1》栈内存(基本类型) 2》堆内存(引用类型)
JS中的作用域
代码(变量|函数)在某一个地方的作用 1》在全局范围内,声明的变量和函数,其实都是window对象的属性或者方法 2》例如函数中声明一个局部变量在全局中打不出来
JS中的作用域链
内部有权访问外部的局部变量或者函数 外部不能访问内部的局部变量或者函数
先找本层(本作用域)===>逐级向外查找
2》优先级 变量--->函数--->参数---->提升 函数(声明)===》不看执行顺序的 声明变量的事情 var a ===>局部a window.a ====>全局a a ====>属于局部a,也属于全局a function fn(){ a = 10; ==>属于内部,也属于外部 console.log(a); var a; //提升后把上面a =10不在是属于内部和外部,只属于内部了 } fn();
JS垃圾回收机制
1》标记清除 最常用的一种垃圾回收机制 2》引用计数 最不常用一种垃圾回收机制 3》手动清除 把不用的变量或者对象或者函数===》(赋值为)= null