javascript setTimeout()传递函数参数(包括传递对象参数)_javascript技巧
于是,上网查找了一下,用了另一种写法setTimeout("fun("+参数+")", 1000),还是不行,但是以上写法在传递form表单的textarea是可以的,比如hml是这样:
在js里边我可以这样子写:
setTimeout("doAjax(document.sform.txtara.value )", 1000);
但是一旦要传递其他什么参数或者是对象参数,按照网上提供的方法就是要重写这个函数了。
经过研究和实践,我自己改进了方法,大家可以参考借鉴一下,我只是依据我的个人需要,其他情况我也不能保证,请多多指教!
JavaScript:
function initAjax() {
var httprequest=null;
try {
httprequest=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httprequest=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
try {
httprequest=new XMLHttpRequest();
}
catch (e) {
httprequest=null;
}
}
}
return httprequest;
}
function doAjax( msg, obj ) {
var obj=obj; //主要是这一行
alert( obj.value);
var he="he="+msg;
var ajaxrequest=initAjax();
ajaxrequest.open("POST", "abc.jsp", true);
ajaxrequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
ajaxrequest.send(he);
ajaxrequest.onreadystatechange=function() {
if (ajaxrequest.readyState==4) {
if (ajaxrequest.status==200) {
document.getElementById("showpane").innerHTML=ajaxrequest.responseText;
}
else {
doAjax( msg );
}
}
}
setTimeout("doAjax(document.sform.txtara.value,document.all["+obj.sourceIndex+"])", 100);//还有这一行
}
就这样,我解决了对象参数传递的问题,最后想说一句,能有更好的解决方法请作评论提出来,本人乐意与志同道合者学习!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

函數參數傳遞方式與線程安全:值傳遞:建立參數副本,不影響原始值,通常線程安全。引用傳遞:傳遞位址,允許修改原始值,通常不線程安全。指針傳遞:傳遞指向位址的指針,類似引用傳遞,通常不線程安全。在多執行緒程式中,應慎用引用和指標傳遞,並採取措施防止資料競爭。

C++不定參數傳遞:透過...運算子實現,可接受任意數量的附加參數,優點包括靈活性、可擴展性和簡化程式碼,缺點包括效能開銷、除錯困難和類型安全。常見實戰案例包括printf()和std::cout,它們使用va_list處理可變數量的參數。

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

JavaScript中的HTTP狀態碼取得方法簡介:在進行前端開發中,我們常常需要處理與後端介面的交互,而HTTP狀態碼就是其中非常重要的一部分。了解並取得HTTP狀態碼有助於我們更好地處理介面傳回的資料。本文將介紹使用JavaScript取得HTTP狀態碼的方法,並提供具體程式碼範例。一、什麼是HTTP狀態碼HTTP狀態碼是指當瀏覽器向伺服器發起請求時,服務

C++函式參數傳遞方式有兩種:傳值呼叫(不影響實參)和傳引用呼叫(影響實參)。傳出參數透過傳引用或指標實現,函數可以透過修改參數引用或指標指向的變數來傳遞值給呼叫方。使用時需要注意:傳出參數必須明確聲明,只能對應一個實參,不能指向函數內局部變量,傳指針呼叫需謹慎避免野指針。

是的,在許多程式語言中,數組可以作為函數參數,函數將對其中儲存的資料執行操作。例如C++中的printArray函數可以列印數組中的元素,而Python中的printArray函數可以遍歷數組並列印其元素。這些函數對陣列所做的修改也會反映在呼叫函數中的原始數組中。
