变量、作用域和内存问题
JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值。基本类型的值源自以下5种基本数据类型Undefined、Null、Boolean、Number、String
2014-10-15
前端基础知识---浏览器
1.浏览器垃圾回收机制?一: 标记清除 这种算法的思想是给当前不使用的值加上标记,然后再回收其内存 算法流程: 1.浏览器再运行的时候会给存储再内存中的所有变量都加上标记 2.去掉环境中的变量以及被环境中引用的变量的标记 3.如果还有变量有标记,就会被视为准备删除...
2022-04-05
Vue 组件传值过程中丢失数据
在上一篇文章 JavaScript 中的两种数据类型中,分别介绍了基本类型和引用类型,以及引用类型的浅拷贝与深拷贝。这里需要注意的是,该文章中深拷贝引用类型值的方法,并不是完美的,引用类型值中的某些属性值,仍不能完整地复制到新的变量中。比如函数值,在深拷贝过程中,就会丢失。
《JavaScript高级程序设计》笔记:变量、作用域和内存问题(四)
ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值指的是简单的数据段,而引用类型的值指那些可能有多个值构成的对象。
JavaScript ES6 (五) - 集合
本文同步带你入门 JavaScript ES6 (五) - 集合,转载请注明出处。 本章我们将学习 ES6 中的 Set(集合) 及 WeakSet 集合 的相关用法及使用场景。 一、概述 Set 集合是 ES6 引入的新的内置对象类型,其特点同数学意义的集合,即集合内所有元素不重复(元素唯一)。 要了解 Set 集合,我们可以先看看数组,ES6 之前数组类似于...
JavaScript 语法
JavaScript 字面量(值)在编程语言中,一般固定值称为字面量,如 3.14,1001 。数字(Number)字面量 可以是整数或者是小数,或者是科学计数(e)如:123e5。
学习JavaScript之内存泄漏
一开始垃圾收集器会给内存中的所有变量做一个标记,之后当程序运行进入相应的环境时,会去掉环境中的变量和被环境中变量引用的变量标记;当退出该环境后,无法再被访问的变量又重新被标记,这些被重新标记的变量就会被垃圾收集器回收。
2017-06-23
详解js变量、作用域及内存
基本类型值有:undefined,NUll,Boolean,Number和String,这些类型分别在内存中占有固定的大小空间,他们的值保存在栈空间,我们通过按值来访问的。
复制和引用复制
在编程语言中,赋值和参数传递可以通过value-copy(值复制)或者reference-copy(引用复制)来完成,这取决于使用的是什么语法。
2019-01-23
你不知道的JavaScript :值
索引 数组通过数字进行索引,但JavaScript中的数组也是对象,也可以通过字符串键值进行索引(但不计算在数组长度内) {代码...} 当字符串键值可以强制性转换为十进制数字的话,它就会被当做数字索引处理 {代码...} 当然我们不建议这么做(在数组中加入字符串键值/属性),通常要存放字符串键值/属性,尽量使用对象,数组...
2018-05-14
闭包会造成内存泄漏吗?
在谈内存泄漏这个问题之前先看看JavaScript的垃圾收集机制,JavaScript 具有自动垃圾收集机制,就是找出那些不再继续使用的变量,然后释放其占用的内存。为此,垃圾收集器会按照固定的时间间隔(或代码执行中预定的收集时间)。常用的的方法有两种,即标记清楚和引用计数。
前端深拷贝和浅拷贝的原理及应用
基础数据类型:简单的数据端,基础类型的数据有Number,Null,Boolean,Number and String。这五种基础类型可以按值访问,可以直接操作保存在变量的实际值(文字来源:JavaScript高级程序设计)
Javascript - 函数里传的是值还是引用?
JavaScript里函数传的是值还是引用?答案是都传。如果传入的参数是简单类型,如String和Number,那么传入的就是值。但如果你传入的是Object和Array,那么就是引用。
2015-02-24
JavaScript 是传值调用还是传引用调用?
1. 例子 先来看两个个来自于 《JavaScript 高级程序设计》P70-P71 的两个例子。 1.1. 基本类型参数传递 {代码...} 书上解释说,JavaScript 参数传递都是按值传参。 所以传递给 addTen 函数的值是 20 这个值,所以函数执行结束原始变量 count 并不会改变。 1.2. 引用类型参数传递 {代码...} 为什么结果是 Nicholas 呢? ...
JavaScript的this值
JavaScript的this是有函数求值是的调用者决定的 JavaScript的this是有函数求值是的调用者决定的 JavaScript的this是有函数求值是的调用者决定的
2017-03-17
JavaScript栈内存和堆内存
JavaScript中的变量分为基本类型和引用类型基本类型是保存在栈内存中的简单数据段,它们的值都有固定的大小,保存在栈空间,通过按值访问 引用类型是保存在堆内存中的对象,值大小不固定,栈内存中存放的该对象的访问地址指向堆内存中的对象,JavaScript不允许直接访问堆内存中的位置,因此操作对象时,实际操作对象的引用
理解Javascritp中的"引用"
那为什么obj1的值修改了,但是obj2的值却没有被覆盖?当我们调用changeStuff函数的时候,参数b,c的值分别是obj1,obj2的引用。
2017-06-11