亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我不能在jQuery的document.ready()中定義函數?

為什么我不能在jQuery的document.ready()中定義函數?

呼如林 2019-10-18 10:47:38
如果將它們放在document.ready()函數中,則函數的定義為未定義:$(document).ready(function(){  function foo()  {    alert('Bar');  }});foo(); // Undefined為什么會這樣?我確定我只需要一些簡單的理解即可:)
查看完整描述

3 回答

?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

您可以,但是必須在ready()方法范圍內調用它們,否則它們將在ready()方法退出時丟失范圍。


例如,下面的代碼將起作用:


$(document).ready(function(){

  function foo()

  {

    alert('Bar');

  }


  foo(); // still in the scope of the ready method

});


查看完整回答
反對 回復 2019-10-18
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

如果將它們放在非它們的范圍內,它們將以未定義形式出現。如果您真的想在$(document).ready(...)范圍之外使用它們,則需要在外部聲明它們。如:


var foo;


$(document).ready(function(){

  foo = function()

  {

    alert('Bar');

  }

});


foo(); // works now because it is in scope

希望這可以幫助。

查看完整回答
反對 回復 2019-10-18
  • 3 回答
  • 0 關注
  • 922 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號