一個基礎的問題 多個$(function(){})裏面的函數 為什麽在下一個$(function(){})裏沒法執行。
阿新 • • 發佈:2018-07-13
自己 type set pan span console ole 函數 itl
先看下例子
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="jquery-1.10.2_d88366fd.js"></script> </head> <body> <script> $(function(){ functionconsole1(){ console.log(‘js1:console1‘); } }) </script> <script> $(function(){ console1(); }) </script> </body> </html>
這樣寫 console1函數無法執行報錯,說沒找到console1函數。
想了半天,原來每個$(function(){})都是一個函數,函數都有自己的作用域,匿名函數相當於私有的函數,要把匿名函數改成 全局函數就可以在下面用了。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="jquery-1.10.2_d88366fd.js"></script> </head> <body> <script> varconsole1; $(function(){ console1=function (){ console.log(‘js1:console1‘); } }) </script> <script> $(function(){ console1(); }) </script> </body> </html>
一個基礎的問題 多個$(function(){})裏面的函數 為什麽在下一個$(function(){})裏沒法執行。