(function () { console.log("函数"); })();
|
可以看出,在函数内部是可以打印出值的
接着试着在函数外部打印函数内部的值:
(function (形参) { var num=10; })(实参); console.log(num);
|
可以知道值的作用域的问题会影响一个值的影响范围,在函数内的局部变量无法在函数外调用,那么如果想要在函数外调用只有全局变量,因此需要使局部变量变成全局变量
(function (win) { var num=10; win.num=num; })(window); console.log(num);
|
- /如何把局部变量变成全局变量?
- 把局部变量给window就可以了
通过自调用函数产生一个随机数对象,在自调用函数外面,调用该随机数对象方法产生随机数:
(function (window) { function Random() { } Random.prototype.getRandom = function (min,max) { return Math.floor(Math.random()*(max-min)+min); }; window.Random=Random; })(window);
var rm=new Random();
console.log(rm.getRandom(0,5));
|