js中的即时函数

<html>
	<head>
		<script>
			window.onload = function(){
				//即时函数1
				(function(){
					alert('watch out  1!');
				}());
				//即时函数2
				(function(){
					alert('watch out  2!');
				})();


				//非即时函数
				var watch = function(){
					alert('watch out!');
				};
				watch();

				//示例
				(function () {
					var days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
						today = new Date();
						msg = 'Today is ' + days[today.getDay()] + ',' +today.getDate();
						alert(msg);
				})();//输出" Today is Fri, 21"

				//带参数的即时函数
				(function (who, when){
					console.log("I met" + who +" on " + when);
				}("Joe Black", new Date()));

				//访问全局变量
				(function (global){
					//通过‘global’访问全局变量
				}(this));

				//即时函数的返回值
				//三种形式均可,不要与var result = function(){};混淆
				var result = (function () {
					return 2 + 2;
				})();
				console.log(result);
				result = function () {
					return 2 + 3;
				}();
				console.log(result);
				result = (function () {
					return 2 + 4;
				}());
				console.log(result);


				//用即时函数包装对象
				var o = {
					message : (function(){
						var who = "me",
							what = "call";
							return what + " " + who;
					}()),
					getMsg : function () {
						return this.message;
					}
				};
				//用法
				console.log(o.getMsg());//输出"call me"
				console.log(o.message);//输出"call me"



				//即时函数应用,初始化
				({
					//在这里可以定义设定值
					//又名配置常熟
					maxwidth : 600,
					maxheight : 400,

					//还可以定义一些实用的方法
					gimmeMax: function (){
						return this.maxwidth + "x" + this.maxheight;
					},
					//初始化
					init: function () {
						console.log(this.gimmeMax());
						//更多初始化任务
					}
				}).init();
			}
		</script>
	</head>
</html>


























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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值