<script>//通过自调用函数产生一个随机数对象,在自调用函数外面,调用该随机数对象方法产生随机数(function (window) {//产生随机数的构造函数function Random() {}//在原型对象中添加方法Random.prototype.getRandom = function (min, max) {return Math.floor(Math.random() * (max - min) + min);};//自调用函数中的普通函数是私有函数,只能够在当前自调用函数内部使用//要想把这个方法暴露给外部,可以设置给window,或者设置给Random函数function test1() {console.log("test1");}//把Random对象暴露给顶级对象window--->外部可以直接使用这个对象window.Random = Random;})(window);//实例化随机数对象,这边能够使用Random函数,原因是Random函数已经被绑定到了window对象上var rm = new Random();//调用方法产生随机数console.log(rm.getRandom(0, 5));test1(); //无法访问,test1()是私有函数</script>

