闭包案例产生多个相同的随机数 沙箱
生活随笔
收集整理的這篇文章主要介紹了
闭包案例产生多个相同的随机数 沙箱
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
閉包案例產生多個相同的隨機數
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><script>function showRandom(){var num = parseInt(Math.random()*10+1);console.log(num);}// showRandom();// showRandom();// showRandom();// 閉包的方式,產生三個隨機數,但是都是相同的function f1(){var num = parseInt(Math.random()*10+1);return function(){console.log(num);return num;}}var ff = f1();console.log(ff());console.log(ff());// 總結:如果想要緩存數據,就把這個數據放在外層的函數和里層的函數的中間位置// 閉包的作用:緩存數據.有點也是缺點,沒有及時的釋放// 局部變量是在函數中,函數使用結束后,局部變量就會被自動的釋放// 閉包后,里面的局部變量的使用作用域鏈就會被延長</script> </head> <body></body> </html>沙箱
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><script>// 沙箱:環境,黑盒,在一個虛擬的環境中模擬真實世界,做實驗,實驗結果和真實結果// 是一樣的,但是不會影響真實世界// var num = 10;// console.log(num+10);// 沙箱----小環境// (function(){// var num = 10;// console.log(num);// })();// // 沙箱----小環境// (function(){// var num = 20;// console.log(num+10);// }());var num = 100;(function(){var num = 10;console.log(num);}());console.log(num);</script> </head> <body></body> </html>?
總結
以上是生活随笔為你收集整理的闭包案例产生多个相同的随机数 沙箱的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 函数作为返回值练习 作用域和作用域链及预
- 下一篇: 递归 递归的案例 递归的案例