[英]how to pass local variable from one function to another function in javascript
[英]How do I pass local variable value from one function to another?
在我的腳本中,我有2個功能。 第一個函數引用一個div元素,在div內創建一個段落元素,並將一些文本附加到該段落元素中; 在我的第二個函數中,是由附加到鏈接元素的onclick事件觸發的。 我希望單擊鏈接時將div中的文本更改為另一個文本。 我確實意識到有兩種方法可以實現此目的:
1)聲明全局變量並在我的第二個函數中使用它們; 2)將變量值從第一個函數傳遞到第二個函數,並從第二個函數操縱該值
但是問題是如何正確地將變量值從第一個函數傳遞給第二個函數:
這是代碼:
<a href=''onclick='change();return false;'>Change</a>
<div id='box'></div>
使用Javascript:
window.onload= function createEl(){
var el = document.createElement('p');
var x = document.getElementById('box');
var text = 'text';
el.appendChild(document.createTextNode(text));
x.appendChild(el);
}
function change(){
x.innerHTML="other text";
}
通常,您可以這樣寫:
function one(){
var var1 = "hello";
two(var1);
}
function two(x){
alert(x);
}
這將提醒“你好”。
對於您正在做的事情,我將通過代碼注冊事件,以使傳遞變量變得更加容易。 我們想在事件處理函數中使用一個參數來將數據傳遞給它。
window.onload = function()
{
// do your normal stuff with creating elements
var anc = document.getElementById('ID of your a element here');
if(anc.attachEvent)
{
//code for ancient IE
anc.attachEvent('onclick', function(){change(x);});
}
else if(anc.addEventListener)
{
//code for modern browsers
anc.addEventListener('click', function(){change(x);});
}
}
function change(elem)
{
elem.innerHTML='other text';
}
請注意,較早版本的IE不能識別addEventListener,而是使用attachEvent,如上面的if塊所示。 這是addEventListener的文檔 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.