ITPub博客

首页 > IT职业 > IT图书 > js变量、作用域、内存问题

js变量、作用域、内存问题

IT图书 作者:zhaosansan 时间:2018-09-17 13:29:29 0 删除 编辑

变量

JavaScript变量分为两种:基本类型和引用类型。其中基本类型就是前面提到的5种基本数据类型,引用类型就是前面提到的 Object 以及基于它的其他复杂数据类型。

✦ 基本类型:在内存中占据实际大小的空间,赋值的时候,会在内存中创建一份新的副本。保存在 栈内存 中。

✦ 引用类型:指向对象的指针而不是对象本身,赋值的时候,只是创建了一个新的指针指向对象。保存在 堆内存 中。

变量内存分配

一句话就是,基本类型在内存中是实际的值;而引用类型在内存中就是一个指针,指向一个对象,多个引用类型可能同时指向同一个对象。

那么,如何确定某个变量是哪种数据类型呢?

IIS7

确定一个变量是哪种基本类型用typeof操作符。

确定一个变量是哪种引用类型用instanceof操作符。

这个别忘了!

作用域

变量是在某个特定的作用域中声明的,作用域决定了这些变量的生命周期,以及哪些代码可以访问其中的变量。

JavaScript作用域只包括全局作用域和函数作用域,并不包含块级作用域!

作用域是可以嵌套的,从而形成作用域链。由于作用域链的存在,可以让变量的查找向上追溯,即子函数可以访问父函数的作用域=>祖先函数的作用域=>直到全局作用域,这种函数我们也称为闭包


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31552536/viewspace-2214284/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-09-17

  • 博文量
    24
  • 访问量
    14397