企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 变量 变量在不同环境中是自动转换的,没有限定某种类型 ## 变量2种不同类型的值 * 基本类型 ---保存在栈内存中的简单数据,固定大小,按值访问 * 引用类型----保存在堆内存中的对象,栈内存中保存对象的地址,通过地址找到堆中的对象,按引用访问 ![](https://box.kancloud.cn/87fbc936c6409ea35a2c7539a06c5623_424x292.png) * * * * * * 复制对象,只会复制对象在栈中的引用地址,堆内存无法复制 * 基本类型复制,复制的是值本身 *js 函数中所有的参数都是按值传递,即使参数是对象,和php不同(&地址符) 判断object的具体类型 * 基本类型判断用typeof * 用instanceof判断具体是对象,数组,还是正则 `alert(box instanceof Array)` ## 作用域 if,for等没有封闭作用域的功能,都是window下的 函数里面有封闭作用域 ~~~ function box(){ var a=100; //初始化变量必须用var,如果要全局,在函数外面定义 } ~~~ 变量的搜索查询,从近往外搜索 ## 内存 js自行管理内存,垃圾回收器会周期性运行 手动回收内存 ~~~ var box={} box=null;//解除引用,等待垃圾回收 ~~~