总结javascript中的全局变量和局部变量的区别以及声明函数和调用函数的区别
Posted iwebkit
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了总结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() { alert(i); i = ‘全局变量‘; } sayName(); // 9运行结果显示undefined,因为输出的是局部变量,而局部变量得初始化在输出之后。 var i = ‘全局变量‘; function sayName() { alert(i); var i = ‘局部变量‘; } sayName(); </script> </head> <body> </body> </html>
以上是关于总结javascript中的全局变量和局部变量的区别以及声明函数和调用函数的区别的主要内容,如果未能解决你的问题,请参考以下文章