第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將腳本函數(shù)傳遞給另一個(gè) html 腳本頁面

將腳本函數(shù)傳遞給另一個(gè) html 腳本頁面

溫溫醬 2023-03-24 14:54:49
所以例如我有這個(gè)功能function Payment() {  var name = document.getElementByID("name").value;  alert(name);}localStorage.setItem("Payment", Payment());我該怎么做,這可能嗎?
查看完整描述

3 回答

?
慕運(yùn)維8079593

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個(gè)贊

存儲(chǔ)函數(shù)名稱并從其他腳本中讀取它以調(diào)用該函數(shù)。另一個(gè)腳本必須包含該函數(shù)。


如果您在第一個(gè)腳本中根本不使用它,則將其包含在兩個(gè)腳本中或僅包含在第二個(gè)腳本中。


const obj = {

  payment: () => {

    var name = document.getElementByID('name').value

    alert(name)

  }

}

第一個(gè)腳本(設(shè)置要存儲(chǔ)的函數(shù)名稱)


localStorage.setItem('func', 'payment')

第二個(gè)腳本(獲取函數(shù)名稱并調(diào)用它)


const funcName = localStorage.getItem('func')


// Call function

obj[funcName]()

注意:如果您不想復(fù)制代碼,則使用 eval() 是解決方案,但我認(rèn)為這非常危險(xiǎn),因?yàn)橛脩艨梢孕薷?localStorage 中的函數(shù)并執(zhí)行任何代碼。


https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval


查看完整回答
反對 回復(fù) 2023-03-24
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊

FAIK,localStorage 不能存儲(chǔ)函數(shù)。但是,您可以存儲(chǔ)代碼并稍后對其進(jìn)行評估。


function Payment() {

  var name = document.getElementByID("name").value;

  alert(name);

}


// store Payment or Payment.toString()

// storing Payment() is storing the function's result

localStorage.setItem("Payment", Payment.toString())

然后以后...


const StoredPayment = eval('(' + localStorage.getItem("Payment") + ')');


StoredPayment();


查看完整回答
反對 回復(fù) 2023-03-24
?
呼如林

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊

您可以將函數(shù)存儲(chǔ)為stringintolocalStorage并可以使用函數(shù)重用它eval。


將函數(shù)存儲(chǔ)到localStorage


function Payment() {

  var name = document.getElementById("name").value;

  console.log(name);

  alert(name);

}

localStorage.setItem('func', Payment.toString());

從 localStorage 獲取函數(shù)日期。


localStorage.getItem('func');

附件顯示了如何調(diào)用字符串化函數(shù)。


var payment = `function Payment() {

  var name = document.getElementById("name").value;

  console.log(name);

  alert(name);

}`;


eval(payment);

Payment();

<input type="text" id="name" value="hello" />


查看完整回答
反對 回復(fù) 2023-03-24
  • 3 回答
  • 0 關(guān)注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)