※Call/Pass by Reference
Call/Pass by Value:將變數傳進另一隻方法當參數,方法對這個變數所做的事,和原本的沒有關係Call/Pass by Reference:將變傳進另一隻方法當參數,方法對這個變數所做的事,會影響到原來的
這篇講的是 Call/Pass by Reference
※
<script> 'use strict' window.onload = () => { var s = new Set(); zzz(s); alert(s.size); // 1 } var zzz = (y) => { y.add('a'); } </script>
※
※new
<script> 'use strict' window.onload = () => { var s = new Set(); zzz(s); alert(s.size); // 1 } var zzz = (y) => { y.add('a'); // y = null; // y = 'undefined'; // y = 'xxx'; y = new Set(); y.add('b'); y.add('c'); } </script>
※受影響的只在 new 之前,之後自己是獨立的
※如果將 y = null; y = 'undefined';y = 'sss'; 都不會對原來的產生影響
※甚至宣告一個新的 Set,然後賦值給 y 也沒有用
沒有留言:
張貼留言