我是學習 JavaScript 的新手。只是為了一些測驗,我構建了這個函式并呼叫它并在其中分配一個變數來完成結果。有沒有辦法像這個例子那樣使用函式?
在這里,我想只是傳遞#country的dom(i)功能。所以它應該是getElementById("maid"),在呼叫它之后,分配= maid把這個 maid 變數放在innerHTML =
我想知道是否可以這樣撰寫 JavaScript 函式?
var maid = "Made In Yiappa";
function dom(i) {
var docs = document.getElementById(i).innerHTML;
return docs;
}
dom("country") = maid;
<p> The result is: <span id="country"></span> </p>
uj5u.com熱心網友回復:
您必須將其作為引數傳遞給該函式:
var maid = "Made In Yiappa";
function dom(elementId, txt) {
document.getElementById(elementId).innerHTML = txt;
}
dom("country", maid);
<p> The result is: <span id="country"></span> </p>
uj5u.com熱心網友回復:
您不能為函式呼叫的結果賦值。您需要將其作為函式引數傳遞。
var maid = "Made In Yiappa";
function dom(i, text) {
document.getElementById(i).innerHTML = text;
}
dom("country", maid);
<p> The result is: <span id="country"></span> </p>
uj5u.com熱心網友回復:
關鍵問題是您正在
innerHTML從函式回傳屬性的值,但是您不能為它分配一個字串,因為innerHTML只能在它附加到元素時進行設定。querySelector也許是更好的方法選擇。然后,您可以#country按照問題中提到的方式傳入選擇器。因此,我們可以從函式中洗掉一些功能,并讓它使用選擇器回傳元素。然后我們可以分配
main給該innerHTML回傳元素的 的(盡管innerText可能更合適)。
var maid = 'Made In Yiappa';
function dom(selector) {
return document.querySelector(selector);
}
dom('#country').innerText = maid;
<p> The result is: <span id="country"></span> </p>
uj5u.com熱心網友回復:
我不完全確定這里的 stackDB 答案是完全正確的,但我愿意以其他方式顯示。原因是
- 這里沒有創建閉包,因為沒有函式回傳也沒有被事件監聽器呼叫。我知道所有函式都關閉了外部作用域內的變數,但這可能會對閉包的一般使用造成混淆。即,即使在外部函式完成執行之后,使用函式內部的區域變數回傳的內部函式也是如此。
- 您宣告操作必須將函式分配給一個變數。這也是我認為不準確的。函式宣告將在這里完成作業,在這種情況下,函式運算式是可選的。同樣,這可能會混淆操作員對提升的理解以及函式宣告和運算式之間的差異。
不幸的是,我無法為操作撰寫代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/357456.html
標籤:javascript 功能
