欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

javascript傳參,js方法傳參有幾種方式

js如何傳遞參數(shù)

html注冊事件向引用方法中的傳參問題,兩個方式:?

創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站設(shè)計與策劃設(shè)計,珠山網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:珠山等地區(qū)。珠山做網(wǎng)站價格咨詢:028-86922220

html?

head?

script?

function?bbb(event){?

event?=?window.event?||?event;?

var?srcEle?=?event.target?||?event.srcElement;?

alert(srcEle.value);?

}?

function?ccc(cc){?

alert(cc.value);?

}?

/script?

/head?

body?

input?type="text"?value="用event方式"?onblur="bbb()"/?

input?type="text"?value="對象傳遞"?onblur="ccc(this)"/?

/body?

/html

javascript函數(shù)傳參問題

你說js函數(shù)的傳參是按值傳遞,應(yīng)該是看到《js高級》里面作者這么說的吧,其實有不少人對作者的觀點提出了質(zhì)疑,有的人覺得如果參數(shù)是引用類型,那么就是按引用傳遞的,還有一種說法叫“按共享傳遞”。

我個人偏向于的觀點是:如果參數(shù)是js基本數(shù)據(jù)類型,那么就是按值傳遞;如果是引用類型如對象、數(shù)組、函數(shù),那么就是按引用傳遞。用這個觀點去解釋你的例子,應(yīng)該是沒有矛盾的地方的。①處按照js對象的比較運算規(guī)則,只有全等號(據(jù)說比較對象時,“===”和“==”是沒有區(qū)別的)兩側(cè)的變量指向的是同一個對象的引用,才返回true,即按引用傳遞。在“peo = {...}”這一行,實際上是創(chuàng)建了一個函數(shù)內(nèi)的局部對象,開辟了新的內(nèi)存地址,并將peo變量指向該處,而之前的person變量指向的對象不變,故而②比較的是兩個指向不同對象的變量,返回false。

你可以這么去理解js函數(shù)傳參的過程:js解析器在分析js的函數(shù)聲明代碼時,如果函數(shù)有帶參數(shù),實際上是在開始時加了一行代碼:var 參數(shù)1,參數(shù)2...;即將參數(shù)隱性的聲明為函數(shù)的局部變量,沒有賦值(下面的函數(shù)例子可以說明這點,第一個函數(shù)雖然聲明是有形參,但是調(diào)用執(zhí)行時沒有傳參,即a只聲明未賦值,所以是undefined;第二個函數(shù)的a不存在,所以報錯)。等到函數(shù)真正被調(diào)用,傳進(jìn)來實參的時候,只是將實參變量賦給了形參變量,比如你的例子中,函數(shù)調(diào)用執(zhí)行時會自動加一句:peo = person;即兩個不同的變量指向了同一個對象,這自然就是按引用傳遞。

function?aa(a)?{

console.log(a)

}

aa()?//輸出undefined

function?ab()?{

console.log(a)

}

ab()?//報錯,Uncaught?ReferenceError:?a?is?not?defined

javascript如何給事件處理函數(shù)傳遞參數(shù)

方法一:通過事件在html中的內(nèi)聯(lián)方式來傳遞參數(shù)(假定變量x是參數(shù),下同):

input?type="button"?value="點我"?onclick="var?x=123;test(x);"/

script

function?test(x){

alert(x);

}

/script

方法二:通過全局變量來傳遞參數(shù):

input?id="abc"?type="button"?value="點我"/

script

var?x=123;

window.onload=function(){

document.getElementById("abc").onclick=function(){

alert(x);

}

}

/script

方法三:通過對象的自定義屬性來傳遞參數(shù):

input?id="abc"?type="button"?value="點我"/

script

window.onload=function(){

var?abc=document.getElementById("abc");

abc.x=123;

abc.onclick=function(){

alert(this.x);

}

}

/script

方法四:利用閉包:

input?id="abc"?type="button"?value="點我"/

script

window.onload=function(){

(function(x){

document.getElementById("abc").onclick=function(){

alert(x);

}

})(123);

}

/script

暫時就想到這么多了,肯定還有其他方法的。

本文題目:javascript傳參,js方法傳參有幾種方式
文章URL:http://chinadenli.net/article30/dsdeopo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站網(wǎng)站改版網(wǎng)站收錄標(biāo)簽優(yōu)化動態(tài)網(wǎng)站做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司