js基础——变量、作用域、内存】的更多相关文章

JS基础学习--作用域 什么是作用域 变量的作用域就是变量能被访问到的代码范围,比如在下面的这个js代码中,变量a的作用域就是函数foo,因此在全局作用域内的console.log(a)语句不能访问到变量a,报ReferenceError错误. function foo() { var a =3; console.log(a); } foo();/*3*/ console.log(a);/*ReferenceError: a is not defined*/ 作用域可以分为词法作用域和动态作用域…
js不支持块级变量作用域,而是包含它们的函数的作用域, 例如: function query() { ; ; i < ; i++) { var b = i; } return b + a; } var q = query(); alert(q);// 9 + 1 = 10 也包括在Catch块 function test() { var a= 'a', b = []; b.push(a); try { throw 'exception'; } catch (e) { a = 'c'; } b.p…
作为一名菜鸟的我,每天学点的感觉还是不错的.今天学习闭包的过程中看到作用域与作用域链这两个概念,我觉得作为一名有追求的小白,有必要详细了解下. 变量的作用域 就js变量而言,有全局变量和局部变量.这里我觉得这个按字面意思理解就行了.......下面举个例子 var message = "今天我做的糯米蒸排骨"; //定义一个全局变量 function doL(){ var ss = "侠客行很好看"; //定义一个局部变量 alert(message); //输出&…
1.new关键字创建的是引用类型: eg. var box = new Object();      box.name = "Linda";//引用类型添加属性没问题     alert(box.name); 2.基本类型添加属性会输出undefined eg. var box = "Linda";      box.height = 185;    alert(box.height);//undefined 3.复制变量值:基本类型复制值本身,引用类型复制地址.…
作用域:使用范围 全局变量: 声明的变量是使用var声明的, 那么这个变量就是全局变量 全局变量可以在页面的任何位置使用 除了函数以外, 其他的任何位置定义的变量都是全局变量 局部变量:在函数内部定义的变量,是局部变量,外面不能使用 全局变量,如果页面不关闭,那么就不会释放,就会占空间,消耗内存 全局作用域:全局变量的使用范围 局部作用域:局部变量的使用范围 块级作用域: 一对大括号就可以看成是一块, 在这块区域中定义的变量, 只能在这个区域中使用 但是在js中在这个块级作用域中定义的变量,外面…
(function(){ a = 5; alert(window.a); var a = 10; alert(a); })(); 结果: undefined 10 代码等同于下面 var a = undefined; //定义全局变量 (function(){ var a; // a = 5; // a = 5;但是被局部变量覆盖,这时候的a是局部变量 alert(window.a); //a = undefined; 试图访问全局变量a,可是并没有赋值 a = 10; //依然是局部变量a a…
一.编译过程 常见编译性语言,在程序代码执行之前会经历三个步骤,称为编译. 步骤一:分词或者词法分析 将由字符组成的字符串分解成有意义的代码块,这些代码块被称为词法单元. 例子:  var a = 2; 这一句通常被分解成为下面这些词法单元:var .a . = .2.; .   步骤二:解析或者语法分析 将词法单元流(数组)转换成一个由元素逐级嵌套所组成的代表了程序语法结构的树.这个树被称为"抽象语法树"(Abstract Syntax Tree, AST) 例子: var .a .…
一   变量(基本类型和引用类型) a.基本类型保存值,保存在栈内存,引用类型保存指针,保存在堆内存: b.所有函数的参数都是按值进行传递的,不管参数是何种类型: c.检测类型 typeof                  检测五个基本类型和一个引用类型object instanceof            检测引用类型具体是什么类型的对象 二   作用域 a.全局变量 局部变量: b.延长作用域链 try-catch里的catch语句: with语句: c.没有块级作用域 if语句里的变量…
JS 变量类型 JS中有 6 种原始值,分别是: boolean number string undefined symbol null 引用类型: 对象 数组 函数 JS中使用typeof能得到哪些类型? 其中一个奇怪的 null,虽然是基本变量,但是因为设计的时候null是全0,而对象是000开头,所以有这个误判. boolean number string undefined symbol object function bigint instanceof 能正确判断对象的原理是什么? 判…
1.局部变量 局部变量也叫auto自动变量(auto可写可不写),一般情况下代码块{}内部定义的变量都是自动变量,它有如下特点: 只有当执行到这句语句时,系统才为这个变量分配空间 在一个函数内定义,只在函数范围内有效 随着函数调用的结束或复合语句的结束局部变量的声明声明周期也结束 复合语句中定义,只在复合语句中有效 如果没有赋初值,内容为随机 不同的{}中,变量的名字可以一样,可以把{}比作房子,不同的房子中可以有同名的小伙伴 #include <stdio.h> void test() {…