JS变量、内存、作用域小结

确保占用最少的内存可以让页面获得更好的性能,优化内存占用的最佳方式:为执行中的代码

只保存必要的数据。一旦数据不再有用,最好通过将其值置为null来释放其引用。适用于大多

数全局变量和全局对象的属性。局部变量会在他们离开执行环境时自动被解除引用。

Example:

fuction createPerson(name){

  var person = new Object();

  person.name = name;

  return person;

}

Var globalPerson = creatPerson(‘Alvin‘);

// 不使用的时候

globalPerson = null;

解除引用的不会自动释放该值所占用的内存空间,作用是让值脱离执行环境的时候,垃圾回收器可以在下次运行时将其回收

小结:

时间: 2024-10-11 11:08:39

JS变量、内存、作用域小结的相关文章

详解js变量、作用域及内存

详解js变量.作用域及内存 来源:伯乐在线 作者:trigkit4 原文出处: trigkit4 基本类型值有:undefined,NUll,Boolean,Number和String,这些类型分别在内存中占有固定的大小空间,他们的值保存在栈空间,我们通过按值来访问的. JavaScript 1 2 (1)值类型:数值.布尔值.null.undefined. (2)引用类型:对象.数组.函数. 如果赋值的是引用类型的值,则必须在堆内存中为这个值分配空间.由于这种值的大小不固定(对象有很多属性和方

js变量及其作用域(附例子及讲解)

Javascript和Java.C这些语言不同,它是一种无类型.弱检测的语言.它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量 工具/原料 Chrome 浏览器(以下代码测试均由Chrome调试) 方法/步骤 js变量的类型及申明方式等等,本文不再说明,读者可以参考相关官方文档 这里主要介绍js变量及其作用域 js变量作用域可分为:"全局变量"和"局部变量" "全局变量":申明在函数之外的变量 &q

JS变量、作用域、 内存(含 预解析面试题)

一.变量 1. 变量 命名: 变量名以$.字母.下划线开头 驼峰命名法 变量名要有意义 2. 变量 声明 声明多个变量:var message, name, age; 重复声明无效,只看第一次声明[特殊:函数内形参 与 函数内的函数名(函数声明方式创建的函数) 重名,以函数名声明为准] <script> console.log(typeof a); function a() {} var a = 10; </script> // 输出:function <script>

js变量及其作用域

Javascript和Java.C这些语言不同,它是一种无类型.弱检测的语言.它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量 一.js变量的类型及申明方式 var i=100;//Number类型 var i="variable";//String类型 var i=false;//boolen类型 var i={x:4};//Object类型 var i=[1,2,3];//Array类型 前三种是基本类型,后两种为引用类型 1.引用类

js变量的作用域详解

JavaScript中的变量作用域问题对一些初学前端的人来说可能是一个很头疼的问题,但是我相信,等你看完这篇文章之后你会有一个相对明确的理解 首先,我们来看看下面的两段代码输出结果分别是什么. 代码一: var a = 1; function func(){ var a; alert(a); a = 2; alert(a); } func(); 代码二: var a = 1; function func(){ alert(a); a = 2; alert(a); } func(); 这里就涉及到

JS 变量的作用域

变量的作用域,是指变量的作用范围.也就是说,变量只在特定范围有效,超出该范围无效. 在JavaScript中,有两种变量,全局变量和局部变量: 全局变量:可以在脚本中的任何位置被调用,全局变量的作用域是当前文档中整个脚本区域. 局部变量:只能在此变量声明语句所属的函数内部使用,局部变量的作用域仅为该函数体. 声明变量时,要根据编程的目的决定将变量声明为全局变量还是局部变量.一般而言,保存全局信息(如用户信息.菜单选项等)的变量需声明为全局变量,而保存临时信息(如待输出的格式字符串.数学运算中间变

js:变量,作用域以及内存问题

最近在重读<javascript高级程序设计>这本书,"温故而知新",古人诚不欺我,再看的时候发现很多知识是之前不理解便跳过的,也有很多之前只是知道并记住了,并不能形成一套体系,而不断的回顾,不断地总结,我发现有很多零零散散的知识点在不经意间就被串在了一起,恍然大悟的感觉甚是美妙 而我一向喜欢思维导图和记忆的方式去学习总结,在用文字表达和总结方面显得很贫乏,所以打算用这种博客的形式来记录下重读过程中的总结,就当是记个笔记,也顺便练练表达能力 变量: js中的变量可能包含两种

JS变量、作用域和内存问题

[1]基本类型和引用类型的值 JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值.基本类型值源自以下5种基本数据类型:Undefined.Null.Boolean.Number和String.基本类型值和引用类型值具有以下特点: 基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中: 从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本: 引用类型的值是对象,保存在堆内存中: 包含引用类型值的变量实际上包含的并不是对象本身,而是一个指向该对象的指针: 从一个

详解JS变量、作用域、内存

本文要点: 1.值类型和引用类型的区别 2.复制变量值 3.内存 4.传递参数 5.执行环境及作用域问题 1.基本类型值有:undefined,NUll,Boolean,Number和String,这些类型分别在内存中占有固定的大小空间,他们的值保存在栈空间,我们通过按值来访问的. (1)值类型:数值.布尔值.null.undefined.(2)引用类型:对象.数组.函数. 如果赋值的是引用类型的值,则必须在堆内存中为这个值分配空间.由于这种值的大小不固定(对象有很多属性和方法),因此不能把他们

JS 变量、作用域和内存问题

一.基本类型和引用类型的值 1.5中基本类型:Undefined,Null,String,Boolean,Number是按值访问的,可以操作保存在变量的实际的值.引用类型的值是保存在内存中的对象,操作对象实际上是操作对象的应用而不是直接操作对象 2.变量复制是将存储在变量对象的值复制一份保存在新变量分配的空间中.不同的是基本类型复制的是实际的值,而引用类型复制的是保存在内存堆的对象的指针. 3.类型检测:typeof 只能检测 Undefined,String,Boolean,Number,Ob