JS作用域详解编程语言

一、变量的作用域

变量的作用域无非就是两种:全局变量和局部变量

js中函数内部可以直接取全局变量。

var t = 1900; 
function f() { 
	alert(t); 
} 
f(); //1900

另一方面,在函数外部自然无法读取函数内的局部变量。

function f() { 
	var t = 1900; 
} 
f(); 
alert(t); //t is not defined


需要注意,在函数内部声明变量的时候,一定要使用var,如果不用的话,实际上声明了一个全局变量

function f() { 
	t = 1900; 
} 
f(); 
alert(t); //1900

二、如何从外部读取局部变量

如果非要得到函数内函数内的局部变量,正常情况下,是不行的,但可以变通方法实现

在函数的内部 再定义一个函数

function out() { 
			var t = 1900; 
			function inner() { 
				alert(t); 
			} 
			inner(); 
		} 
		out(); //1900

三、Example

function outerFun() { 
	var a = 0; 
	alert(a); 
} 
var a = 4; 
outerFun(); 
alert(a); //0  4

var name = "hello"; 
function f() { 
	var name = "world" 
} 
f(); 
alert(name); //hello ,内容并没有改变

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/14539.html

(0)
上一篇 2021年7月19日 16:55
下一篇 2021年7月19日 16:55

相关推荐

发表回复

登录后才能评论