1.存储(变量)
JS中变量是存在栈内存中
JS中的内存分两种:栈内存、堆内存
栈内存:存放变量
堆内存:存代码块(object和function)
var fn=function()和function fn()这两个定义函数是不一样的
JS特殊在它是一个弱类型语言
在定义变量的时候没有明确的指明它的数据类型,而是由后面赋的值决定它的类型
var a="" var=12; var a=[];var a={}
java是强类型语言
定义变量的时候就指明它的数据类型,后面的赋值就不能随便赋值了,必须和数据类型保持一致
string a="12"; number a=12; boolean a=true;
JS内存存放机制
1)基本数据类型:string number boolean undefined null
如果变量后面的值是基本数据,就直接存在栈内存。栈里面要求变量不能重名,如果重名就会覆盖前者
2)引用数据类型:object array function
如果变量后面是引用数据类型,将后面的代码块存在堆内存中,然后将堆内存中的内存地址赋值给前面的变量
3)其他:Data Errey Math

备注:浏览器在执行js代码前,找出所有的关键字var和function将定义的变量存在内存中,存放完毕之后按照自上向下的顺序一步一步的执行,当使用某个变量的时候(console.log()),就会向内存查找,有就使用,没有就会报错(xxx is not defined),如果是赋值,就相当于给window添加了一个属性且赋值

2.销毁内存
浏览器自身每经一段时间,自动去检测js中没有用的内存,把它销毁掉
JS中的人为销毁变量,给这个变量赋值为null a=null;null的本质是空指针
内存销毁的顺序是:先存后销

JS-变量存储的更多相关文章

  1. PHP基础班初学心得:脑洞实验-JS变量存储函数与return的一些问题

    本人刚参加PHP基础班培训第一天,由于之前毫无基础,分享的心得可能不规范,方法也许也"旁门左道",不能保证质量,只作自己总结学习,也希望能帮助到同样是初学者的朋友们,共同进步. 在 ...

  2. JavaScript变量存储浅析(一)

    Hello! 上一篇关于JS中函数传参(http://www.cnblogs.com/souvenir/p/4969092.html)的介绍中提到了JS的另外一个基本概念:JS变量存储, 今天我们就用 ...

  3. JS规则 多样化的我(变量赋值)我们使用"="号给变量存储内容,你可以把任何东西存储在变量里,如数值、字符串、布尔值等,

    多样化的我(变量赋值) 我们可以把变量看做一个盒子,盒子用来存放物品,那如何在变量中存储内容呢? 我们使用"="号给变量存储内容,看下面的语句: var mynum = 5 ; / ...

  4. javascirpt对象运用与JS变量

    abcdefghijklmnopqrstuvwyz String 对象方法 charAt() 方法可返回指定位置的字符.stringObject.charAt(index)(index从0开始)[ht ...

  5. js变量以及其作用域详解

    详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp73   一.变量的类型  Javascript和Java.C这些语言不同 ...

  6. JavaScript变量存储浅析

    var test=100; function foo(){ console.log(test);//undefined var test=200; console.log(test); } 我们明明定 ...

  7. js变量类型和计算

    # js入门基础-变量类型和计算 ` --首先由于我使用了一个不太合格的markdown来编写来文章,所以在移动端阅读不要太方便,建议移动端使用横屏模式或pc端阅读,当然如果你有平板那是最好的. -- ...

  8. JS变量类型与计算

    一.题目 1.JS中使用typeof能得到哪些类型? 2.何时使用===何时使用==? 3.JS中有哪些内置函数? 4.JS变量按照存储方式区分为哪些类型,并描述其特点? 5.如何理解JSON? 知识 ...

  9. 【repost】 JS变量重复声明以及忽略var 声明的问题及其背后的原理

    JS的容错率很高,一些其他语言常见的小错误JS都能大度得包容,比如给一个方法传入超出预计的参数.在声明变量之前使用该变量(变量的声明提升解决了这个问题)等等,这里我们就要解剖一下JS变量重复声明以及当 ...

  10. 基础篇:8.如何定义变量?js变量有什么特点?

    书接上文,废话不多说,直接进入正题,下面我们一起来讨论js中的变量那些事! 那什么是变量? 变量是存储信息的容器,可以存储任何类型的数据. 如何定义变量呢? 变量可以使用短名称,如x,y:也可以是长名 ...

随机推荐

  1. 移动 WEB 开发之 阿里百秀移动端页面制作

    一.技术选型 二.需求分析 1.页面布局分析 2. 屏幕划分 三.页面制作 1. 项目前期准备 搭建项目结构 创建 html 骨架结构以及引入相关样式 <head> <meta ch ...

  2. 编程哲学之 C# 篇:006——什么是 .NET

    本章将用本系列第二章中提到的 类比 思维来让读者快速了解什么是.NET. 当年在网上看到一个初学者问<Java编程思想>第一章看不懂怎么办.然后我发现在很多经典的技术书中,如<C#入 ...

  3. allure环境搭建

    allure环境搭建 在搭建之前你应该有python.pycharm jdk也需要(文中忽略,可以参考网上文档安装,可以用jdk1.8) 以windows为例,mac.linux你用到这些操作系统,这 ...

  4. python爬虫学习——元组,字典(2.14日博客补)

    元组 ''' tup1 = () #创建一个空的元组 print(type(tup1)) #tup2 = (50) #不是元组,python把括号当成了表达式的一部分,即数学运算的括号 #tup2 = ...

  5. 【TS】数组和元组

    数组 在ts中,定义数组类型语法: let 变量名 : 数据类型[] = [值1,值2,值3] let arr1 : number[] = [1,2,3,4] console.log(arr1); / ...

  6. 记一次使用tika解析文件文本导致的内存溢出问题

    背景 笔者曾供职于某信息安全公司,接到过一个需求,提取文档中的文本以供后续分析.tika是apache开源的解析文档内容的组件,应用十分广泛.tika几乎支持你能想到的所有文档格式,docx , pp ...

  7. 集合类再探:不可变类的好处,Collector接口详解,使用内部迭代

    集合类再探 注:本文使用的pom依赖见文末. 集合类的基础 - Iterable.Iterator java语言层面支持对实现了Iterable接口的对象使用for-each语句.Iterator可以 ...

  8. [IOI2014]friend 朋友

    题目传送门 似乎是我的第一篇 IOI 题解? 思路 虽然说是 IOI 题,但是其实并没有那么难. 这个题目描述比较杂乱,简单的描述就是:给你一些关系,你需要选出一些点,使这些点的权值和最大,并且这些点 ...

  9. $(...).bootstrapTable is not a function (已解决)

    1.首先保证Jquery是不是在所有js最前面引入且引入地址正确能打开 2.页面jquery不能重复引入,我这边就是重复引用了导致报错的

  10. Canonical为所有支持的Ubuntu LTS系统发布了新的Linux内核更新

    Canonical近日为所有支持的Ubuntu LTS系统发布了新的Linux内核更新,以解决总共19个安全漏洞. 新的Ubuntu内核更新仅适用于长期支持的Ubuntu系统,包括Ubuntu 22. ...