JavaScript中如何才能在外部访问到立即执行匿名函数中的变量和函数?

参考帖子https://ask.csdn.net/questions/1014743

如何才能在外部访问到立即执行匿名函数中的变量和函数?

如何才能在外部调用fn1()函数和fn2()函数

如何才能在外部访问到age变量

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript中立即执行的匿名函数</title>
<script type="text/javascript">
var hometown = '江西省赣州市于都县';
console.log(hometown);
(function (){
	console.log('我是一个匿名函数' + hometown);
})();

(function (){
	var age = 24;
	console.log('hello,我是一个匿名函数');
	function fn1(){
		console.log('我是fn1函数');
	}
	fn1();
	function fn2(){
		console.log('我是fn2函数');
	}
	fn2();
})();
//涉及到闭包的知识
//立即执行匿名函数中的变量和函数怎么访问?
//如何才能在外部调用fn1()函数和fn2()函数
// fn1(); //报错Uncaught ReferenceError: fn1 is not defined
// fn2();
//如何才能在外部访问到age变量
// console.log(age); //报错Uncaught ReferenceError: age is not defined
</script>
<script type="text/javascript">
console.log('我的家乡在' + hometown);
</script>

</head>
<body style="background-color: #CCE8CF;">
	<h3 style="color: #cd1636;">
	JavaScript中立即执行的匿名函数
	</h3>
</body>
</html>

以上问题是如何解决的呢?看下面

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title>JavaScript中立即执行的匿名函数</title>
<script type="text/javascript">
var hometown = '江西省赣州市于都县';
console.log(hometown);
(function() {
    console.log('我是一个匿名函数' + hometown);
})();

(function(){
    var exports={};
    var age = 24;
    console.log('hello,我是一个匿名函数');

    function fn1() {
        console.log('我是fn1函数');
    }
    fn1();

    function fn2() {
        console.log('我是fn2函数');
    }
    fn2();
    
    exports.efn1=function(){
        return fn1();
    }
    
    exports.efn2=function(){
        return fn2();
    }
    
    exports.eage = age;
    
    window.exports=exports;
})();
//涉及到闭包的知识
//立即执行匿名函数中的变量和函数怎么访问?
//如何才能在外部调用fn1()函数和fn2()函数
console.log('************************');
exports.efn1(); //结果为我是fn1函数
exports.efn2(); //结果为我是fn2函数
// fn1(); //报错Uncaught ReferenceError: fn1 is not defined
// fn2();
//如何才能在外部访问到age变量
// console.log(age); //报错Uncaught ReferenceError: age is not defined
console.log('************************');
console.log(exports.eage); //结果为24
</script>
<script type="text/javascript">
            console.log('我的家乡在' + hometown);
</script>
</head>
<body style="background-color: #CCE8CF;">
	<h3 style="color: #cd1636;">JavaScript中立即执行的匿名函数</h3>
</body>
</html>

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值