数据类型 基本类型:Number、String、Boolean等。 引用类型:Object、Array等。 内存的堆栈 栈内存:一般保存 基本类型数据 和 引用类型数据的地址 堆内存:一般保存 引用类型数据。 注:栈内存可以直接按值可以访问;访问堆内存,先访问栈内存里面的地址。 变量的比较 基本类型 ...
分类:
Web程序 时间:
2020-03-14 10:47:59
阅读次数:
73
基本类型-栈内存 保存基本类型的变量保存的是值本身 引用类型-堆内存 保存引用类型的变量保存的并不是对象本身,而是一个指向该对象的引用地址 引用类型判断对象是否相等 function equalObjs(a, b) { for (var p in a) { if (a[p] !== b[p]) re ...
分类:
Web程序 时间:
2020-01-02 22:24:28
阅读次数:
117
上一章 JS执行上下文、变量提升、函数声明 传送门:https://segmentfault.com/a/11... 本次我们主要讲讲变量作用域和闭包变量作用域:顾名思义:变量起作用的范围。变量分为全局变量和局部变量。全局变量:在任何地方都能用,在所有函数之外。局部变量:只能在定义它的函数中,以及它 ...
分类:
Web程序 时间:
2019-11-09 09:22:35
阅读次数:
104
1. var c = 1; function a () { var c =1; c = c+2; console.log('fn : '+c) }; a();//3 console.log( c) //1 ...
分类:
Web程序 时间:
2019-07-27 09:40:18
阅读次数:
103
下面的文章内容会根据理解程度不断修正。 js变量作用域: 定义:变量在它申明的函数体以及函数体内嵌套的任意函数体内有定义。 如上图,两次弹出的都是“我是AA内部变量”。 JS的变量作用域是函数级的,也就是在AA内部申明的变量,在AA内部任意位置,包括它嵌套的函数内也是有定义的。 在函数AA外面,bb ...
分类:
编程语言 时间:
2019-04-16 18:59:12
阅读次数:
205
``` var num = 10; fun(); function fun() {` console.log(num);` var num = 20;` } undefined 因为在 里,因为 调用了 ,就在这个函数的作用域里找 ,然后把 的声明提前,相当于是: 另一个例子: ...
分类:
Web程序 时间:
2019-02-11 01:07:21
阅读次数:
198
js的闭包 js的变量作用域: 1. js允许函数中有函数 2. 如果使用变量,如果该变量有var ,则表示创建全新的变量 ,如果该变量是直接写在页面,则我们认为是全局变量,否则是局部变量, 如果没有带var关键字, 则js引擎会这样处理: 首先到父函数去找有没有该变量,如果有,则使用,如果没有则创 ...
分类:
编程语言 时间:
2018-07-30 18:38:42
阅读次数:
197
今天的这个文章题目名称甚是让人会突发异想。JS变量作用域是务必需要搞懂的,单从面试过程就会让面试者烧脑壳。所以,我们还是写一篇关于JS变量作用域的技术专题,让所有小伙伴能够借此文章去整理JS的基础学习。说不定很多人会比我理解这方面基础知识有更好地见解 黄金守则第一条: JS没有块级作用域(你可以自己 ...
分类:
编程语言 时间:
2018-06-08 14:31:23
阅读次数:
179
摘自javascript权威指南 P57 一个变量的作用域是程序源代码中定义这个变量的区域。 局部变量:函数内声明的变量是局部变量,函数参数也是局部变量。 全局变量:全局变量拥有全局作用域,在JavaScript代码中的任何地方都是有定义的。 在函数体内,局部变量的优先级高于同名的全局变量。 声明全 ...
分类:
Web程序 时间:
2018-02-03 16:14:15
阅读次数:
191