JavaScript练习题 全局变量 局部变量 作用域
前沿:大家好我是阿飞本次 任何简单的事情都可以复杂化,本次让我们来做下搞事情的练习题吧
例题1:
var a = 1;
function fn1(){
var a = 2;
alert(a); //2
}
fn1();
alert(a); //1
分析:局内的优先打印变量 局外的打印局外变量
例题2:
var a = 1;
function fn1(){
alert(a); //1
a = 2;
}
fn1();
alert(a); //2
分析:因为都是全局变量 所以按照解析顺序从上到下
例题3:
var a = 1;
function fn1(a){ //由于没有实参传入,此刻的形参a默认undefined
alert(a); // undefind
a = 2; // 此刻因为形参=a 所以a变为局内变量
}
fn1();
alert(a); //1
分析:形参使函数内的全局变量变局部。
例题4:
var a = 1;
function fn1(a){
alert(a); //1 通过实参传给形参 得到a=1
a = 2; // 形参使之变为局内
}
fn1(a);
alert(a); // 1
例题5:
function fn1(a){ //由于没有实参传入,此刻的形参a默认undefined
alert(a); //undefined
a = 2; //此刻因为形参=a 所以a变为局内变量
}
fn1();
alert(a); //全局变量无法获取到局部变量 此刻全局变量又没有定义声明 所以报错
例题6:
var a = 1;
function fn1(a){
alert(a); //1
a = 2;
alert(a); //2
}
fn1(a);
alert(a); //1 全局无法获取局内
只是一个练习而已,搞不懂也没关系。因为本来就不推荐在函数内用全局变量。=.=
JavaScript练习题 全局变量 局部变量 作用域的更多相关文章
- JavaScript 声明全局变量与局部变量
一.JavaScript 声明全局变量的三种方式: 声明方式一: 使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变量.该方式即 ...
- Javascript中的局部变量、全局变量的详解与var、let的使用区别
前言 Javascript中的变量定义方式有以下三种方式:1.直接定义变量,var与let均不写: a = 10; 2.使用var关键字定义变量 var a = 10; 3.使用let关键字定义变量 ...
- javascript中的变量作用域以及变量提升
在javascript中, 理解变量的作用域以及变量提升是非常有必要的.这个看起来是否很简单,但其实并不是你想的那样,还要一些重要的细节你需要理解. 变量作用域 “一个变量的作用域表示这个变量存在的上 ...
- JavaScript笔记:变量及其作用域
一.变量的定义及声明 在javascript中变量仅仅是用来保存值的一个占位符而已,定义变量时要使用关键字var后跟一个变量名,如下所示: var message; //定义一个变量message,像 ...
- 【点滴javascript】变量与作用域
基本类型与引用类型 ECMAScript的的变量有两种类型: 基本类型(值类型):简单数据段 引用类型:多个值构成的对象 在变量赋值结束后,解析器必须知道这个变量时基本数据类型还是引用类型,需要注意的 ...
- javascript中的变量作用域以及变量提升详细介绍
在javascript中, 理解变量的作用域以及变量提升是非常有必要的.这个看起来是否很简单,但其实并不是你想的那样,还要一些重要的细节你需要理解变量作用域 “一个变量的作用域表示这个变量存在的上下文 ...
- Javascript中闭包的作用域链
作用域定义了在当前上下文中能够被访问到的成员,在Javascript中分为全局作用域和函数作用域,通过函数嵌套可以实现嵌套作用域. 闭包一般发生在嵌套作用域中.闭包是JavaScript最强大的特性之 ...
- 从头开始学JavaScript (二)——变量及其作用域
原文:从头开始学JavaScript (二)--变量及其作用域 一.变量 ECMAscript变量是松散型变量,所谓松散型变量,就是变量名称可以保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符 ...
- 《前端之路》之四 JavaScript 的闭包、作用域、作用域链
04:JavaScript 的闭包 一.定义: 常规定义: 闭包的定义: 有权利访问外部函数作用域的函数. 通俗定义: 1.函数内部包含了函数.然后内部函数可以访问外部函数的作用域. 2.内部函数可以 ...
随机推荐
- Spark 2.2.0 文档中文版 Quick Start
原地址:http://spark.apache.org/docs/latest/quick-start.html 这篇指导对使用Spark提供了一个快速的介绍.我们首先介绍API,通过spark交互式 ...
- icon button样式(类似windows桌面图标)
<Style x:Key="IconButton" TargetType="{x:Type Button}"> <Setter Propert ...
- ReactiveSwift源码解析(八) SignalProducer的代码的基本实现
在前面几篇博客中我们详细的聊了ReactiveSwift中的Bag.Event.Observer以及Signal的使用方式和代码实现.那么在接下来的这几篇博客中,我们就依附于之前博客的基础上来聊一聊S ...
- 还在为画“类Word文档报表”而发愁吗?
欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ Word 是非常强大的文档编辑工具,一些行业制式文档都是使用Word来创建的,像教育行业的申请表,履历表,审批表等,像石油业的 ...
- 基于vue的颜色选择器color-picker
项目中有用到颜色选择器的童鞋们可以看过来了 关于color-picker的jquery的插件是有蛮多,不过vue组件没有吧,反正我没有找到, 虽然element-ui里面有这个,但是你愿意为了一个小功 ...
- An internal error occurred during: "Launching web on MyEclipse Tomcat"
An internal error occurred during: "Launching web on MyEclipse Tomcat" 解决办法1 1.首先关闭MyEclip ...
- jquery.cityselect.js基于jQuery+JSON的省市或自定义联动效果
一.插件介绍 最早做省市联动的时候都特别麻烦,后来在helloweba的一篇文章中看到这个插件,很不错的,后来就一直用了. 省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统.电商网站最 ...
- 页面发送请求到后台报错“Empty or invalid anti forgery header token.”问题解决
在页面向后台发送请求时,报如上图的错误的解决办法: 在WebModule.cs类中的PreInitialize方法中加 Configuration.Modules.AbpWeb().AntiForge ...
- 使用 Git 同步时出现ssl错误
错误提示 fatal: unable to access 'https://android.googlesource.com/platform/prebuilts/qemu-kernel/': gnu ...
- Fancytree Javascript Tree TreeTable 树介绍和使用
Fancytree是一个非常棒的Javascript控件,功能强大,文档健全.在做Javascript Tree控件选型时,主要基于以下几点选择了Fancytree 在Javascript Tree控 ...