傳值 傳址 繼承

2022-01-19 13:03:12 字數 1168 閱讀 9832

基本資料型別(string,number,boolean)傳值,複雜資料型別按引用傳遞(傳址)

傳值例:var a = 1; b = a; b++; 結果:a = 1,b = 2;

傳址例:var a = [0, 1]; b = a; b.push(2); 結果:a = [0, 1, 2]; b = [0, 1, 2]

//

方法一 slice

var a = [0, 1];

b = a.slice();

b.push(2);

alert(a+'|'+b); //0,1|0,1,2

//

方法二 concat

var a = [0, 1];

b = a.concat();

b.push(2);

alert(a+'|'+b); //0,1|0,1,2

//

方法三 for in

var a = [0, 1], b = ;

for (var n in a)

b.push(2);

alert(a+'|'+b); //0,1|0,1,2

function

a(name)

a.prototype.getname = function

();

function

extent(o, p)}//

usefunction

b(name)

extent(b.prototype, a.prototype);

function

b(name)

//f為了只繼承原型,避免引用相互影響

function

f(){}

f.prototype =a.prototype;

b.prototype = new

f();

b.prototype.constructor = b;

function

cloneobj(o);

f.prototype =o;

return

newf();

}var a = ;

var b = cloneobj(a);

傳值和傳址

let dadproto let sonproto dadproto sonproto.name 李四 console.log sonproto name 李四 age 20 console.log dadproto name 李四 age 20簡單資料型別 傳值 let a 10 let b a ...

傳值和傳址

在vb中呼叫函式或過程時,傳遞引數有兩種方式 傳址和傳值。其中vb預設為傳址方式,關鍵字byref一般可以省略。byref a as integer 表示引數a以傳址方式傳遞給函式或過程 byval a as integer 表示引數a以傳值方式傳遞給函式或過程 傳址就是把乙個存放資料的記憶體位址傳...

傳值,傳址和傳引用

傳值方式 將實參的值拷貝給函式或方法,在函式內對形參進行操作,操作的物件是實參的拷貝,對實參本身沒有影響,在函式結束返回後,形參被丟棄釋放,實參的內容不會被改變。c 一條基本原則 在預設情況下,引數只能以值傳遞的方式給函式,被傳遞到函式的只是變數的值,永遠不會是變數本身。void exchange ...