※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 也沒有用
沒有留言:
張貼留言