总结javascript中的全局变量和局部变量的区别以及声明函数和调用函数的区别
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="utf-8"/>
<title></title>
<script src="../js/jquery-1.10.2.js"></script>
<script>
// 1 i为全局变量 输出全局变量
function myName() {
i = '全局变量';
}
myName();
function sayName() {
alert(i);
}
sayName(); // 2 i为局部变量 运行出错 显示i未定义
function myName() {
var i='局部变量';
}
myName();
function sayName() {
alert(i);
}
sayName(); // 3 将1中的myName()去掉 运行出错 显示i未定义,虽然声明了函数,但是没有调用函数,函数中的i的赋值失效。
function myName() {
i = '全局变量';
}
function sayName() {
alert(i);
}
sayName(); // 4 将1中的myName()放到sayName()的下面 运行出错 显示i未定义,虽然声明了函数 调用了函数 但是因为javascript调用的函数自上而下运行,
// 当运行sayName时并没有运行myName().
function myName() {
i = '全局变量';
}
function sayName() {
alert(i);
}
sayName();
myName(); // 5 运行结果显示是全局变量。虽然变量名称相同,但是一个是全局变量,一个是局部变量,有着本质的区别,局部变量只能在本函数之内使用
var i = '全局变量';
function myName() {
var i = '局部变量';
}
myName();
function sayName() {
alert(i);
}
sayName(); // 6 将5的局部变量改成全局变量,运行结果显示改变的全局变量
var i = '全局变量';
function myName() {
i = '改变的全局变量';
}
myName();
function sayName() {
alert(i);
}
sayName(); // 7 运行结果显示undefined,因为代码的执行顺序是从上到下的,在输出i之前并只定义了i,没有对i初始化。
var i;
function sayName() {
alert(i);
i = '全局变量';
}
sayName(); // 8 运行结果显示全局变量,在输出之前初始化i就没有问题了
var i;
function sayName() {
i = '全局变量';
alert(i);
}
sayName();
// 9运行结果显示undefined,因为输出的是局部变量,而局部变量得初始化在输出之后。
var i = '全局变量';
function sayName() {
alert(i);
var i = '局部变量';
}
sayName();
</script>
</head>
<body> </body>
</html>
总结javascript中的全局变量和局部变量的区别以及声明函数和调用函数的区别的更多相关文章
- javascript学习笔记(二):定义函数、调用函数、参数、返回值、局部和全局变量
定义函数.调用函数.参数.返回值 关键字function定义函数,格式如下: function 函数名(){ 函数体 } 调用函数.参数.返回值的规则和c语言规则类似. <!DOCTYPE ht ...
- python线程中的全局变量与局部变量
在python多线程开发中,全局变量是多个线程共享的数据,局部变量是各自线程的,非共享的. 如下几种写法都是可以的: 第一种:将列表当成参数传递给线程 from threading import Th ...
- Python中的全局变量与局部变量的区别
全局变量与局部变量两者的本质区别就是在于作用域 用通俗的话来理解的话, 全局变量是在整个py文件中声明,全局范围内都可以访问 局部变量是在某个函数中声明的,只能在该函数中调用它,如果试图在超出范围的地 ...
- python中的全局变量和局部变量
python中,对于变量作用域的规定有些不一样. 在诸如C/C++.java等编程语言中,默认在函数的内部是能够直接訪问在函数外定义的全局变量的,可是这一点在python中就会有问题.以下是一个样例. ...
- python中的全局变量和局部变量(转)
python中,对于变量作用域的规定有些不一样. 在诸如C/C++.java等编程语言中,默认在函数的内部是能够直接訪问在函数外定义的全局变量的,可是这一点在python中就会有问题.以下是一个样例. ...
- python中的全局变量、局部变量、实例变量
1.全局变量:在模块内,在所有函数.类外面. 2.局部变量:在函数内,在类方法内(未加self修饰的) 3.静态变量:在类内,但不在类方法内.[共同类所有,值改变后,之后所有的实例对象也改变] 4.实 ...
- SQL中的全局变量和局部变量(@@/@)
在SQL中,我们常常使用临时表来存储临时结果,对于结果是一个集合的情况,这种方法非常实用,但当结果仅仅是一个数据或者是几个数据时,还要去建一个表,显得就比较麻烦,另外,当一个SQL语句中的某些元素经常 ...
- Java中的全局变量与局部变量
全局变量:也叫成员变量,是指在类中定义的变量:它在整个类中都有效 全局变量又可分为:类变量和实例变量 1.类变量:又叫静态变量 用static修饰 它可以直接用类名调用 也可以用对象调用 而 ...
- java中的全局变量、局部变量与静态常量的区别
java中的变量类型分类: 类变量:独立于方法之外的变量,用 static 修饰.实例变量:独立于方法之外的变量,不过没有 static 修饰.局部变量:类的方法中的变量.比如: public cla ...
随机推荐
- C - NP-Hard Problem
C - NP-Hard Problem Crawling in process... Crawling failed Time Limit:2000MS Memory Limit:262144 ...
- N-Tier Entity Framework开源项目介绍
N-Tier Entity Framework是一个基于微软Entity Framework的N层.NET解决方案. 并且与以下这此技术点无缝集成了: § WCF RIA Ser ...
- adb查询log命令
http://blog.csdn.net/fulinwsuafcie/article/details/8028572
- 分享20个最新的免费 UI 设计素材给设计师
用户界面设计涉及到很多的创意,灵感以及需要与客户进行有效沟通的技能.良好的用户界面是一致的,可以使网站更容易理解和使用.UI设计的重点在于用户体验和互动,同时易于使用对于一个成功的移动应用程序来说非常 ...
- Python开发:环境搭建(python3、PyCharm)
Python开发:环境搭建(python3.PyCharm) python3版本安装 PyCharm使用(完全图解(最新经典))
- ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave由于鼠标移动速度过快导致问题解决办法
记录两个项目开发中遇到的问题,一个是ECharts外部调用保存为图片操作,一个是workflow工作流连接曲线onmouseenter和onmouseleave事件由于鼠标移动过快触发问题. 一.外部 ...
- iOS多图片下载
iOS多图片下载.在cell里面下载图片.做了缓存优化. (app.icon是图片地址) // 先从内存缓存中取出图片 UIImage *image = self.images[app.icon]; ...
- SharePoint 2013 入门教程之入门手册
当我们搭建完环境,创建应用程序和网站集后,就已经正式开启了我们的SharePoint之旅了,进入网站以后,开始基本的使用.设置,了解SharePoint相关特性,下面,来简单了解下SharePoint ...
- Android—实现自定义相机倒计时拍照
这篇博客为大家介绍Android自定义相机,并且实现倒计时拍照功能 首先自定义拍照会用到SurfaceView控件显示照片的预览区域,以下是布局文件: 两个TextView是用来显示提示信息和倒计时的 ...
- Android编码规范04
private final String MESSAGE_WARN = "您输入的密码有误,请重新输入!"; private final String CLASS_ONE = &q ...