js基础系列之【作用域】】的更多相关文章

1.js没有块级作用域 if (true) { var color = “blue”; } alert(color); //”blue” for (var i=0; i < 10; i++){ doSomething(i); } alert(i); 2,变量定义 全局变量 变量定义:var和没有var function add(num1, num2) { var sum = num1 + num2; return sum; } alert(sum); //causes an error sinc…
前言:JS 的作用域.执行上下文.this.闭包是老生常谈的话题,也是新手比较懵懂的知识点.当然即便你作为老手,也未必真的能理解透彻这些概念. 一.作用域和执行上下文 作用域: js中的作用域是词法作用域,即由 函数声明时 所在的位置决定的.词法作用域是指在编译阶段就产生的,一整套函数标识符的访问规则.(区别于词法作用域,动态作用域是在函数执行的时候确认的,js的没有动态作用域,但js的this很像动态作用域,后面会提到.词法作用域的概念十分重要,请多加记忆并理解.) 说到底js的作用域只是一个…
声明:形成本文的出发点仅仅是个人总结记录,避免遗忘,并非详实的教程:文中引用了经过个人加工的其它作者的内容,并非原创.学海无涯 什么是作用域? 作用域就是一套规则,用于确定在何处以及如何查找变量(标识符)的规则 伪代码帮助理解 function foo() { var a = 'ice'; console.log(a); } foo(); 执行函数foo,打印变量a,这个a从哪来呢? 很显然有一句:“var a = 'ice'” 声明了一个变量a,并赋值为‘ice’: 再来一段不一样的 var…
这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原理(包括三个段落): 函数相关(包括 函数传参,带参数函数的调用方式,闭包): 面向对象(包括 对象创建.原型链,数据类型的检测,继承). JS代码预解析原理 /****************** JS代码预解析原理 ******************//*JS代码预解析.变量作用域.作用域链等…
在之前写的进阶系列里面,提到了执行上下文在创建阶段,要创建变量对象.确定作用域链还有确定this的指向,本次将重点讲解一下作用域链. JavaScript代码的执行过程 在讲解作用域链之前,首先了解一下,JavaScript代码的执行过程,包括两个步骤: 编译阶段 JavaScript引擎执行阶段 在编译阶段主要做的是,经过编译器的编译,将代码转化为可执行的代码,其中就包括了作用域规则的确定,而在之前说的执行上下文的创建和执行阶段是发生在JavaScript隐引擎执行阶段,所以作用域链是在执行上…
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> /* * 作用域 * - 作用域指一个变量的作用的范围 * - 在JS中一共有两种作用域: * 1.全局作用域 * - 直接编写在script标签中的JS代码,都在全局作用域 * -…
基本类型:Undefind Null Boolean Number String 引用类型: 对象 在操作对象时,实际上实在操作对象的引用而不是实际的对象.为此,引用类型的值是按引用访问的. 从一个变量向另一个变量赋值引用类型的值,同样也会将存储在对象中的值赋值一份放到为新变量分配的空间中.不同的是,这个值的副本实际上是一个指针,而这个指针指向存储在堆中的一个对象 <script> var arr = {name:"jiayu"} doSomeThing(arr); con…
声明:形成本文的出发点仅仅是个人总结记录,避免遗忘,并非详实的教程:文中引用了经过个人加工的其它作者的内容,并非原创.学海无涯 引入问题 一般我们是这样写的: (需求驱动技术,疑问驱动进步) // 构造函数 function Obj(name) { this.name = name; } // 原型 Obj.prototype.sayName = function() { return `say: ${this.name}`; } // '实例' var obj = new Obj('a');…
15.作用域 概念: 规定变量或函数的可被访问的范围和生命周期 分类: 全局作用域 -就是指当前整个页面环境: 局部作用域(函数作用域) -就是指某个函数内部环境 l 变量的作用域 全局变量 - 定义在全局作用域中的变量:全局变量在任何位置均可访问 局部变量 - 定义在函数作用域中的变量:只能在该函数内访问该变量 Ø 全局变量: var a = ‘A’ ;   ---全局变量                  对比    |     var a = ‘A’;  ---全局变量 function…
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> /* * 函数作用域 * * - 调用函数时创建函数作用域,函数执行完毕以后,函数作用域销毁 * * - 每调用一次函数就会创建一个新的函数作用域,他们之间是互相独立的 * * - 在…