js文件里面如果用到了 在head后面出現的html標記 放在head中就有可能提示對象為空的錯誤

創(chuàng)新互聯(lián)建站-專業(yè)網站定制、快速模板網站建設、高性價比泗洪網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式泗洪網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋泗洪地區(qū)。費用合理售后完善,十年實體公司更值得信賴。
放在文件尾部則不會出現
一個原則,任何程序中用到的html元素必須在函數執(zhí)行前已經加載到瀏覽器中,只有這個原則滿足才能談其他的
目前所在這的這個項目里,我所接手的那部分頁面是結合使用JSP標簽和JavaScript來進行初始化的。由于JavaScript在處理JavaBean數據時沒有JSP標簽方便,所以是將JavaScript寫在一個單獨的JSP頁面中,同時加入一些JSP標簽對JavaScript中的部分代碼根據JavaBean數據來動態(tài)生成。今天早上測試組給出的一個BUG就是由于初始化錯誤產生的,而且在修改這個BUG的時候,由于JSP標簽和JavaScript混在一起,修改和調試十分麻煩。我沒有學過AJAX,雖然我知道JavaScript功能十分強大。不過認為在這里,JavaScript被濫用了。JavaScript主要用來在用戶端瀏覽器上與用戶進行交互,而在服務器端,則應該由是JSP或者ASP來實現。這樣才能使程序更加清晰,便于開發(fā)和維護。所以,我認為,對于服務器端的頁面初始化,也即頁面在服務器端的動態(tài)生成,還是應該使用JSP。當然,也可以使用JSP來動態(tài)的生成一些JavaScript代碼。
定義后立即執(zhí)行 相當于:
var ff=function(){
。。。
};
fc(c);
c是參數。
Javascript是一種由Netscape的LiveScript發(fā)展而來的腳本語言,主要目的是為了解決服務器終端語言,比如Perl,遺留的速度問題。當時服務端需要對數據進行驗證,由于網絡速度相當緩慢,只有28.8kbps,驗證步驟浪費的時間太多。于是Netscape的瀏覽器Navigator加入了Javascript,提供了數據驗證的基本功能。
歷史
在1992年,Nombas開始開發(fā)一種嵌入式腳本語言,叫做C-minus-minus(Cmm)。[待續(xù)...
能夠具有交互性,能夠包含更多活躍的元素,就有必要在網頁中嵌入其它的技術。如:Javascript、VBScript、Document Object Model(文件目標模塊)、Layers和 Cascading Style Sheets(CSS),這里主要講Javascript。那么Javascript是什么東東?Javascript就是適應動態(tài)網頁制作的需要而誕生的一種新的編程語言,如今越來越廣泛地使用于Internet網頁制作上。 Javascript是由 Netscape公司開發(fā)的一種腳本語言(scripting language),或者稱為描述語言。在HTML基礎上,使用Javascript可以開發(fā)交互式Web網頁。Javascript的出現使得網頁和用戶之間實現了一種實時性的、動態(tài)的、交互性的關系,使網頁包含更多活躍的元素和更加精彩的內容。 運行用Javascript編寫的程序需要能支持Javascript語言的瀏覽器。Netscape公司 Navigator 3.0以上版本的瀏覽器都能支持 Javascript程序,微軟公司 Internet Explorer 3.0以上版本的瀏覽器基本上支持Javascript。微軟公司還有自己開發(fā)的Javascript,稱為JScript。 Javascript和Jscript基本上是相同的,只是在一些細節(jié)上有出入。 Javascript短小精悍, 又是在客戶機上執(zhí)行的,大大提高了網頁的瀏覽速度和交互能力。 同時它又是專門為制作Web網頁而量身定做的一種簡單的編程語言。
雖然,在Dreamweaver的Behaviors可以為我們方便地使用Javascript程序而不用編寫代碼,但我們自己了解了Javascript的編程方法后,將能更加方便靈活地應用,也使Javascript的代碼更簡練。本專題通過對一系列典型程序的剖析,使你快速地掌握Javascript的編程技巧,設計出質量上乘的動態(tài)網頁打下堅實的基礎。在此之前,我們先了解一些Javascript 的基本概念。
JavaScript 有什么特點
JavaScript 使網頁增加互動性。JavaScript 使有規(guī)律地重復的HTML文段簡化,減少下載時間。JavaScript 能及時響應用戶的操作,對提交表單做即時的檢查,無需浪費時間交由 CGI 驗證。JavaScript 的特點是無窮無盡的,只要你有創(chuàng)意。
Java 與 JavaScript 有什么不同
很多人看到 Java 和 JavaScript 都有“Java”四個字,就以為它們是同一樣東西,連我自己當初也是這樣。其實它們是完完全全不同的兩種東西。Java,全稱應該是 Java Applet,是嵌在網頁中,而又有自己獨立的運行窗口的小程序。Java Applet 是預先編譯好的,一個 Applet 文件(.class)用 Notepad 打開閱讀,根本不能理解。Java Applet 的功能很強大,可以訪問 http、ftp等協(xié)議,甚至可以在電腦上種病毒(已有先例了)。相比之下,JavaScript 的能力就比較小了。JavaScript 是一種“腳本”(“Script”),它直接把代碼寫到 HTML 文檔中,瀏覽器讀取它們的時候才進行編譯、執(zhí)行,所以能查看 HTML 源文件就能查看JavaScript 源代碼。JavaScript 沒有獨立的運行窗口,瀏覽器當前窗口就是它的運行窗口。它們的相同點,我想只有同是以 Java 作編程語言一點了。
開發(fā) JavaScript 該用什么軟件
一個 JavaScript 程序其實是一個文檔,一個文本文件。它是嵌入到 HTML 文檔中的。所以,任何可以編寫 HTML 文檔的軟件都可以用來開發(fā) JavaScript。在此我推薦大家用 FrontPage 2000 附帶的 Microsoft 腳本編輯器(在 FrontPage 菜單 | 工具 | 宏 | Microsoft 腳本編輯器)。它是個像 Visual Basic / C++ 一樣的程序開發(fā)器,能對正在輸入的語句作出簡要提示。配合 FrontPage 2000,使工作量大大減少。
一、Javascript在網頁的用法
Javascript加入網頁有兩種方法:
1、直接加入HTML文檔
這是最常用的方法,大部分含有Javascript的網頁都采用這種方法,如:
script language="Javascript"
!--
document.writeln("這是Javascript!采用直接插入的方法!");
//-Javascript結束--
/script
在這個例子中,我們可看到一個新的標簽: script……/script,而script language="Javascript” 用來告訴瀏覽器這是用Javascript編寫的程序,需要調動相應的解釋程序進行解釋。
HTML的注釋標簽!--和--:用來去掉瀏覽器所不能識別的Javascript源代碼的,這對不支持 Javascript 語言的瀏覽器來說是很有用的。
//-Javascript結束:雙斜杠表示 Javascript的注釋部分,即從//開始到行尾的字符都被忽略。 至于程序中所用到的document.write()函數則表示將括號中的文字輸出到窗口中去, 這在后面將會詳細介紹。 另外一點需要注意的是,script……/script的位置并不是固定的,可以包含在head....../head 或body...../body中的任何地方。
2、引用方式 如果已經存在一個Javascript源文件(以js為擴展名),則可以采用這種引用的方式,以提高程序代碼的利用率。其基本格式如下:
script src=url language="Javascript"/script
其中的Url就是程序文件的地址。同樣的,這樣的語句可以放在HTML文檔頭部或主體的任何部分。 如果要實現“直接插入方式”中所舉例子的效果,可以首先創(chuàng)建一個Javascript源代碼文件“Script.js”,其內容如下:
document.writeln("這是Javascript!采用直接插入的方法!");
在網頁中可以這樣調用程序:script src="Script.js" language="Javascript"/script 。
二、Javascript基本概念
在這里只作簡單介紹,在以后的例子中結程序再作具體解釋其作用。
1、運算符
運算符就是完成操和的一系列符號,它有七類:
賦值運算符、算術運算符、比較運算符、邏輯運算符、條件運算、位操作運算符和字符串運算符。
2、表達式
運算符和操作數的組合稱為表達式,通常分為四類:賦值表達式、算術表達式、布爾表達式和字符串表達式。
3、語句
Javascript程序是由若干語句組成的,語句是編寫程序的指令。Javascript提供了完整的基本編程語句,它們是:
賦值語句、switch選擇語句、while循環(huán)語句、for循環(huán)語句、do while循環(huán)語句、break循環(huán)中止語句和continue循環(huán)中斷語句。
4、函數
函數是命名的語句段,這個語句段可以被當作一個整體來引用不著和執(zhí)行。使用函數要注意以下幾點:
1)函數由關鍵字function定義;
2)函數必須先定義后使用,否則將出錯;
3)函數名是調用函數時引用的名稱,它對大小寫是敏感的,調用函數時不可寫錯函數名;
4)參數表示傳遞給函數使用或操作的值,它可以是常量,也可以是變量;
5)return語句用于返回表達式的值,也可以沒有。
5、對象
Javascript的一個重要功能就是基于對象的功能,通過基于對象的程序設計,可以用更直觀、模塊化和可重復使用的方式進行程序開發(fā)。
一組包含數據的屬性和對屬性中包含數據進行操作的方法,稱為對象。比如要設定網頁的背景顏色,所針對的對象就是document,所用的屬性名是bgcolor,如document.bgcolor="blue",就是表示使背景的顏色為藍色。
6、事件
用戶與網頁交互時產生的操作,稱為事件。絕大部分事都由用戶的動作所引發(fā),如:用戶按鼠標的按鈕,就產生onclick事件,若鼠標的指針的鏈接上移動,就產生onmouseover事件等等。在Javascript中,事件往往與事件處理程序配套使用。
學習Javascript比較快速有效的方法是先熟悉一些基本概念,然后找?guī)讉€別人設計好的程序認真仔細地分析一遍,再稍作改動,再看看能否達到預期目的,不斷地舉一反三,既可以加深對一些參數、設計方法的理解,又可以快速地提高自己的水平。另外,再提醒一下:Javascript對大小寫是敏感的,特別是一些對象、方法、屬性的大小寫一定要一致,要養(yǎng)成一種良好的習慣,否則在調試程序時可要累死你了。
7、變量
如 var myVariable = "some value";
GoodQuestion,一般都放底部。
但在某種情況下也覺得放在頭部比較好,比如一個給頁面中的某個元素添加了事件的js腳本。頁面出來了但是js沒加載完的那段時間,用戶對此元素做事件操作的時候就出不來應該有的效果。
現在比較傾向于放在頭部,做一些優(yōu)化的工作盡量讓js加載快一點。
我想說一下我的看法,關于JavaScript寫在尾部的。
至于為什么CSS寫在頭部,是因為瀏覽器預先加載CSS后,可以不必等待HTML加載完畢就可以開始渲染頁面了。
至于JavaScript寫在尾部,這是因為JS主要扮演事件處理的功能。這樣的話,頁面渲染的時候和JS沒有關系,放在后面慢慢加載,不要影響更重要的CSS和HTML的加載。
BUT!
但是,現在隨著JS技術的發(fā)展,JS也開始承擔起頁面渲染的工作了,比如JQuery UI之類。如果這類JS加載需要很長時間,就會影響用戶的體驗,因為用戶看到的是一個渲染不完全的界面。
所以,需要把JS區(qū)分看待,承擔頁面渲染工作的JS和承擔事件處理的JS要區(qū)分看待。
我的建議是,緩存類似JQuery UI這樣的靜態(tài)文件,剝離渲染頁面的JS和事務處理的JS。
渲染頁面的JS放在前面,事務處理的JS放在后面,HTML代碼可以放在兩者中間,或者兩者之前,只要保證DOM加載后能迅速進行JS渲染就可以了。
名稱欄目:javascript+尾,js尾部添加元素
地址分享:http://chinadenli.net/article27/dsecojj.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、響應式網站、網頁設計公司、網站收錄、標簽優(yōu)化、電子商務
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)