腳本函數未定義
『壹』 為什麼php會報錯:未定義的函數
一、錯誤類型:PHP致命錯誤
Error type: PHP Fatal error
Fatal error: Call to undefined function (a) in (b) on line (c)
二、錯誤描述:
該錯誤報告表示你正企圖調用未經定義的函數(function),其中
a----表示未定義的函數名;
b----出現該段腳本的路徑;
c----企圖調用未定義函數的行號。
d----第二次定義該函數時的行號。
三、原因及解決方法:
原因1:你的確沒有聲明過該函數。例如,直接調用下面的函數
myFunction();// 這里根本就沒有這個函數
結果如下
Fatalerror:()in(path)on line1解決:
仔細檢測你的程序中是否聲明過該函數。原因2:你在函數聲明時用的名稱和你在調用時用的名稱不相同,例如
functionmyFunction(){// do something}myFuntion();// 這里少寫了一個字母C
解決:這是很多初學者最容易犯的一個錯誤。有時候因為少寫,或者多寫,寫錯一個字母而導致很長時間都檢查不出來。原因3:你在老版本的PHP下調用新版本的PHP內置函數而產生的錯誤。因為你的老版本中這個PHP內置函數根本就不存在。例如,你在PHP老版本中調用mime_content_type()
Fatalerror:Calltoundefinedfunctionmime_content_type()
解決:翻開PHP手冊仔細核對你所使用的內置函數到底適用於PHP的哪些版本。在PHP手冊當中對每一個內置函數都註明了詳細的版本限制。例如(PHP 4 >= 4.3.0, PHP 5).所以,解決辦法就是升級你的PHP版本,或者改換同類型的其他內置函數。原因4:你對該函數的調用代碼,寫在了與函數聲明不同的文件中。例如,你在a.php文件中寫了這樣的代碼
myFunction();
而你的函數聲明卻在b.php中
functionmyFunction(){// do something}
解決:這種情況一般發生在PHP初學者身上,他們在調用函數時卻忘了PHP不會自動的進行文件關聯或引用。也就是說上面的情況中a.php與b.php根本就不會產生任何關系。這個時候你需要使用include()之類的函數將兩者關聯起來。原因5:你對該函數的調用代碼,寫在了與函數聲明不同的文件中,你也引入了該文件。但是你的函數調用代碼位於引入文件代碼之前。例如,你在a.php執行函數調用,而在b.php中聲明函數。
a.php代碼
myFunction();include('b.php');
b.php代碼
functionmyFunction(){echo'123';}
解決:像上面的代碼這樣,在執行時就會報錯。因為PHP在執行函數調用時找不到該函數的聲明。所以,絕對不要把函數的調用寫在函數聲明文件被引入之前。當然,如果你是在同一個php文件當中,你完全可以把調用函數寫在函數聲明之前。
原因6:你連續兩次使用相同名稱來定義一個函數,例如
functionmyFunction(){}
functionmyFunction(){}
結果如下
Fatalerror:Cannotredeclare myfunction()(previously declaredin(path):2)in(path)on line1解決:
找到已經聲明過的函數,看看是什麼需要導致你再次定義了它。如果只是單純的忘記之前已經定義過,那麼將其中一個聲明刪除掉就是。當然,你的情況可能給復雜。比如你的腳本文件排列異常混亂,並且你可能使用了大量的include()之類的函數,這將導致你很難從混亂的代碼當中理清思路。
『貳』 腳本提示沒有定義要怎麼
現象:setday is not defined (setday未定義) 原因:路徑不符合要求 處理方法: 將 <script src="/js/calendar1.js" type="text/javascript"></script
『叄』 javascript中為什麼會出現一個函數未定義的錯誤
這個問題是因為你調用的函數未定義;不過沒有看到你的具體代碼,你可能是以下情況:
1、的確是沒有定義這么一個函數;
2、定義函數了,但是在你調用的時候,你的函數並沒有初始化。
將<script>(function(){alert("helpme!!!!!");vargameDraw=newgameDraw("myCanvas");alert("helpme11111!!!!!");gameDraw.drawBall();alert("helpme2222!!!!!");})();</script>改為<script>window.onload=function(){alert("helpme!!!!!");vargameDraw=newgameDraw("myCanvas");alert("helpme11111!!!!!");gameDraw.drawBall();alert("helpme2222!!!!!");}</script>
(3)腳本函數未定義擴展閱讀:
JavaScript是一種屬於網路的腳本語言,已經被廣泛用於Web應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實現自身的功能的。
是一種解釋性腳本語言(代碼不進行預編譯)。
主要用來向HTML(標准通用標記語言下的一個應用)頁面添加交互行為。
可以直接嵌入HTML頁面,但寫成單獨的js文件有利於結構和行為的分離。
跨平台特性,在絕大多數瀏覽器的支持下,可以在多種平台下運行(如Windows、Linux、Mac、Android、iOS等)。
Javascript腳本語言同其他語言一樣,有它自身的基本數據類型,表達式和算術運算符及程序的基本程序框架。Javascript提供了四種基本的數據類型和兩種特殊數據類型用來處理數據和文字。而變數提供存放信息的地方,表達式則可以完成較復雜的信息處理。
『肆』 js腳本錯誤 提示未定義,但是java項目在我電腦本機沒問題,在別的電腦上就出現錯誤
1、用IE9以上的Devleoper或是firefox的debug工具,將你的整個請求debug一下,出錯的地方就一目瞭然了,然後估計就知道怎麼辦了。
2、我估計不是瀏覽器兼容器的問題,是代碼寫的有問題。
再檢查下吧。