JavaScript(簡(jiǎn)稱js),是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語(yǔ)言。同時(shí)也是一種廣泛用于客戶端Web開發(fā)的腳本語(yǔ)言,常用來給HTML網(wǎng)頁(yè)添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作。它最初由網(wǎng)景公司(Netscape)的Brendan Eich設(shè)計(jì),是一種動(dòng)態(tài)、弱類型、基于原型的語(yǔ)言,內(nèi)置支持類。
創(chuàng)新互聯(lián)公司是一家專業(yè)提供鄉(xiāng)寧企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都網(wǎng)站制作、H5建站、小程序制作等業(yè)務(wù)。10年已為鄉(xiāng)寧眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
因?yàn)镹etscape與Sun合作,Netscape管理層希望它外觀看起來像Java,因此取名為JavaScript。
在網(wǎng)頁(yè)里面,js主要有兩種實(shí)現(xiàn)方式,一是直接在網(wǎng)頁(yè)中使用script 和 /script,在標(biāo)簽中間寫入js語(yǔ)言,script 和 /script 會(huì)告訴 JavaScript 在何處開始和結(jié)束。二是把腳本保存到外部文件中,外部 JavaScript 文件的文件擴(kuò)展名是 .js。然后使用script src="myScript.js"/script引入外部文件,src屬性中設(shè)置js路徑。
js的主要特點(diǎn)是:
一、js是一種解釋性腳本語(yǔ)言(代碼不進(jìn)行預(yù)編譯);
二、主要用來向HTML頁(yè)面添加交互行為;
三、可以直接嵌入HTML頁(yè)面,但寫成單獨(dú)的js文件有利于結(jié)構(gòu)和行為的分離。
js的主要功能有:
(1) 嵌入動(dòng)態(tài)文本于HTML頁(yè)面
(2) 對(duì)瀏覽器事件作出響應(yīng)
(3) 讀寫HTML元素
(4) 在數(shù)據(jù)被提交到服務(wù)器之前驗(yàn)證數(shù)據(jù)
(5) 檢測(cè)訪客的瀏覽器信息
(6) 控制cookies,包括創(chuàng)建和修改等
javascript是前端的核心,它簡(jiǎn)稱js,不容易被其它語(yǔ)言所代替。目前在前端屬于老大,前端失去js等同于我們失去了樂趣,此功能非常強(qiáng)大。從2009年開始,它還能應(yīng)用于服務(wù)端。一門語(yǔ)言node.js語(yǔ)法幾乎和javascript很像,能降低學(xué)習(xí)成本。node.js是服務(wù)端語(yǔ)言,語(yǔ)法使用es6,因此js擁有了操作服務(wù)器的能力。js從es5的瀏覽器端技術(shù)到es6服務(wù)端能力的發(fā)展,使得前端的地位有所提高。與java、C系列語(yǔ)言相比,js屬于輕量級(jí)。希望能幫到您。
不是的,兩者有很大的差別。語(yǔ)法方面JavaScript的基本語(yǔ)法和對(duì)象體系,是模仿Java而設(shè)計(jì)的。但是,JavaScript沒有采用Java的靜態(tài)類型。正是因?yàn)镴avaScript與Java有很大的相似性,所以這門語(yǔ)言才從一開始的LiveScript改名為JavaScript?;旧希琂avaScript這個(gè)名字的原意是“很像Java的腳本語(yǔ)言”。千鋒官網(wǎng)每日更新最新軟件開發(fā)基礎(chǔ)知識(shí)內(nèi)容,鞏固日常學(xué)習(xí)中的基礎(chǔ)技能。更有免費(fèi)的軟件開發(fā)視頻教程幫助學(xué)員快速學(xué)習(xí)。 千鋒教育就有線上免費(fèi)的軟件開發(fā)公開課,。
在JavaScript語(yǔ)言中,函數(shù)是一種獨(dú)立的數(shù)據(jù)類型,以及采用基于原型對(duì)象(prototype)的繼承鏈。這是它與Java語(yǔ)法最大的兩點(diǎn)區(qū)別。JavaScript語(yǔ)法要比Java自由得多。數(shù)據(jù)結(jié)構(gòu)部分則借鑒Java語(yǔ)言,包括將值分成原始值和對(duì)象兩大類。另外,Java語(yǔ)言需要編譯,而JavaScript語(yǔ)言則是運(yùn)行時(shí)由解釋器直接執(zhí)行??傊?,JavaScript的原始設(shè)計(jì)目標(biāo)是一種小型的、簡(jiǎn)單的動(dòng)態(tài)語(yǔ)言,與Java有足夠的相似性,使得使用者(尤其是Java程序員)可以快速上手千鋒教育集團(tuán)目前已與國(guó)內(nèi)4000多家企業(yè)建立人才輸送合作,與500多所大學(xué)建立實(shí)訓(xùn)就業(yè)合作,每年為各大企業(yè)輸送上萬名移動(dòng)開發(fā)工程師,每年有數(shù)十萬名學(xué)員受益于千鋒教育組織的技術(shù)研討會(huì)、技術(shù)培訓(xùn)課、網(wǎng)絡(luò)公開課及免費(fèi)教學(xué)視頻。
var func = function() func() {
alert(1);
}
你這個(gè)寫錯(cuò)了吧。函數(shù)定義兩種方式:
function func() {}
var func = function() {}
這兩個(gè)是有名的,匿名函數(shù)直接function() {}嵌進(jìn)func()的括號(hào)中就行了;而且是直接調(diào)用
JavaScript 源文件命名沒有什么硬性規(guī)定或推薦標(biāo)準(zhǔn),完全可以憑個(gè)人喜好命名,只要符合 URI/URL 命名規(guī)則即可,習(xí)慣使用短線(-)或句點(diǎn)(.)作為分隔符號(hào),最好使用小寫英文字符,不要使用其他符號(hào)和擴(kuò)展字符(如中文字符)。也有一些命名慣例:
一般使用 .js 擴(kuò)展名,這個(gè)擴(kuò)展名的兼容性最好。其實(shí)任何擴(kuò)展名都可以,只要是 text 類型、編碼正確即可,但引用時(shí)須注明類型(type="text/javascript" 或 "application/javascript")及編碼字符集(charset="UTF-8" 等等)。
一般使用短線替代自然語(yǔ)言名稱中的空格,比如 jQuery UI 1.9.0 的源文件可命名為“jquery-ui-1.9.0.js”。
一般用句點(diǎn)分隔表示名稱中的從屬關(guān)系,范圍大的在前面。比如你提到的?MooFx2 的(主模塊)源文件就可命名為“moo.fx.js”,MooFx2 的可選特效包,屬于 MooFx2 的子模塊,可命名為“moo.fx.pack.js”;還有,比如 jQuery 的表單插件 Form,屬于 jQuery 擴(kuò)展插件,則可命名為“jquery.form.js”。
經(jīng)過壓縮的源文件可以使用“min”表示,區(qū)別于原始版本。比如經(jīng)過壓縮的 jQuery 源文件可以命名為“jquery.min.js”,YUI 則習(xí)慣命名為"yui-min.js"。
上面的慣例僅供參考,最終還是尊重個(gè)人習(xí)慣。不過如果你在項(xiàng)目中引用了某個(gè)框架或庫(kù),就最好優(yōu)先使用他們的命名習(xí)慣。另外,一個(gè)項(xiàng)目中最好統(tǒng)一使用一種命名規(guī)則,這樣方便自己和其他開發(fā)人員識(shí)別。
Javascript是一種由Netscape的LiveScript發(fā)展而來的腳本語(yǔ)言,主要目的是為了解決服務(wù)器終端語(yǔ)言,比如Perl,遺留的速度問題。當(dāng)時(shí)服務(wù)端需要對(duì)數(shù)據(jù)進(jìn)行驗(yàn)證,由于網(wǎng)絡(luò)速度相當(dāng)緩慢,只有28.8kbps,驗(yàn)證步驟浪費(fèi)的時(shí)間太多。于是Netscape的瀏覽器Navigator加入了Javascript,提供了數(shù)據(jù)驗(yàn)證的基本功能。
歷史
在1992年,Nombas開始開發(fā)一種嵌入式腳本語(yǔ)言,叫做C-minus-minus(Cmm)。[待續(xù)...
能夠具有交互性,能夠包含更多活躍的元素,就有必要在網(wǎng)頁(yè)中嵌入其它的技術(shù)。如:Javascript、VBScript、Document Object Model(文件目標(biāo)模塊)、Layers和 Cascading Style Sheets(CSS),這里主要講Javascript。那么Javascript是什么東東?Javascript就是適應(yīng)動(dòng)態(tài)網(wǎng)頁(yè)制作的需要而誕生的一種新的編程語(yǔ)言,如今越來越廣泛地使用于Internet網(wǎng)頁(yè)制作上。 Javascript是由 Netscape公司開發(fā)的一種腳本語(yǔ)言(scripting language),或者稱為描述語(yǔ)言。在HTML基礎(chǔ)上,使用Javascript可以開發(fā)交互式Web網(wǎng)頁(yè)。Javascript的出現(xiàn)使得網(wǎng)頁(yè)和用戶之間實(shí)現(xiàn)了一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,使網(wǎng)頁(yè)包含更多活躍的元素和更加精彩的內(nèi)容。 運(yùn)行用Javascript編寫的程序需要能支持Javascript語(yǔ)言的瀏覽器。Netscape公司 Navigator 3.0以上版本的瀏覽器都能支持 Javascript程序,微軟公司 Internet Explorer 3.0以上版本的瀏覽器基本上支持Javascript。微軟公司還有自己開發(fā)的Javascript,稱為JScript。 Javascript和Jscript基本上是相同的,只是在一些細(xì)節(jié)上有出入。 Javascript短小精悍, 又是在客戶機(jī)上執(zhí)行的,大大提高了網(wǎng)頁(yè)的瀏覽速度和交互能力。 同時(shí)它又是專門為制作Web網(wǎng)頁(yè)而量身定做的一種簡(jiǎn)單的編程語(yǔ)言。
雖然,在Dreamweaver的Behaviors可以為我們方便地使用Javascript程序而不用編寫代碼,但我們自己了解了Javascript的編程方法后,將能更加方便靈活地應(yīng)用,也使Javascript的代碼更簡(jiǎn)練。本專題通過對(duì)一系列典型程序的剖析,使你快速地掌握J(rèn)avascript的編程技巧,設(shè)計(jì)出質(zhì)量上乘的動(dòng)態(tài)網(wǎng)頁(yè)打下堅(jiān)實(shí)的基礎(chǔ)。在此之前,我們先了解一些Javascript 的基本概念。
JavaScript 有什么特點(diǎn)
JavaScript 使網(wǎng)頁(yè)增加互動(dòng)性。JavaScript 使有規(guī)律地重復(fù)的HTML文段簡(jiǎn)化,減少下載時(shí)間。JavaScript 能及時(shí)響應(yīng)用戶的操作,對(duì)提交表單做即時(shí)的檢查,無需浪費(fèi)時(shí)間交由 CGI 驗(yàn)證。JavaScript 的特點(diǎn)是無窮無盡的,只要你有創(chuàng)意。
Java 與 JavaScript 有什么不同
很多人看到 Java 和 JavaScript 都有“Java”四個(gè)字,就以為它們是同一樣?xùn)|西,連我自己當(dāng)初也是這樣。其實(shí)它們是完完全全不同的兩種東西。Java,全稱應(yīng)該是 Java Applet,是嵌在網(wǎng)頁(yè)中,而又有自己獨(dú)立的運(yùn)行窗口的小程序。Java Applet 是預(yù)先編譯好的,一個(gè) Applet 文件(.class)用 Notepad 打開閱讀,根本不能理解。Java Applet 的功能很強(qiáng)大,可以訪問 http、ftp等協(xié)議,甚至可以在電腦上種病毒(已有先例了)。相比之下,JavaScript 的能力就比較小了。JavaScript 是一種“腳本”(“Script”),它直接把代碼寫到 HTML 文檔中,瀏覽器讀取它們的時(shí)候才進(jìn)行編譯、執(zhí)行,所以能查看 HTML 源文件就能查看JavaScript 源代碼。JavaScript 沒有獨(dú)立的運(yùn)行窗口,瀏覽器當(dāng)前窗口就是它的運(yùn)行窗口。它們的相同點(diǎn),我想只有同是以 Java 作編程語(yǔ)言一點(diǎn)了。
開發(fā) JavaScript 該用什么軟件
一個(gè) JavaScript 程序其實(shí)是一個(gè)文檔,一個(gè)文本文件。它是嵌入到 HTML 文檔中的。所以,任何可以編寫 HTML 文檔的軟件都可以用來開發(fā) JavaScript。在此我推薦大家用 FrontPage 2000 附帶的 Microsoft 腳本編輯器(在 FrontPage 菜單 | 工具 | 宏 | Microsoft 腳本編輯器)。它是個(gè)像 Visual Basic / C++ 一樣的程序開發(fā)器,能對(duì)正在輸入的語(yǔ)句作出簡(jiǎn)要提示。配合 FrontPage 2000,使工作量大大減少。
一、Javascript在網(wǎng)頁(yè)的用法
Javascript加入網(wǎng)頁(yè)有兩種方法:
1、直接加入HTML文檔
這是最常用的方法,大部分含有Javascript的網(wǎng)頁(yè)都采用這種方法,如:
script language="Javascript"
!--
document.writeln("這是Javascript!采用直接插入的方法!");
//-Javascript結(jié)束--
/script
在這個(gè)例子中,我們可看到一個(gè)新的標(biāo)簽: script……/script,而script language="Javascript” 用來告訴瀏覽器這是用Javascript編寫的程序,需要調(diào)動(dòng)相應(yīng)的解釋程序進(jìn)行解釋。
HTML的注釋標(biāo)簽!--和--:用來去掉瀏覽器所不能識(shí)別的Javascript源代碼的,這對(duì)不支持 Javascript 語(yǔ)言的瀏覽器來說是很有用的。
//-Javascript結(jié)束:雙斜杠表示 Javascript的注釋部分,即從//開始到行尾的字符都被忽略。 至于程序中所用到的document.write()函數(shù)則表示將括號(hào)中的文字輸出到窗口中去, 這在后面將會(huì)詳細(xì)介紹。 另外一點(diǎn)需要注意的是,script……/script的位置并不是固定的,可以包含在head....../head 或body...../body中的任何地方。
2、引用方式 如果已經(jīng)存在一個(gè)Javascript源文件(以js為擴(kuò)展名),則可以采用這種引用的方式,以提高程序代碼的利用率。其基本格式如下:
script src=url language="Javascript"/script
其中的Url就是程序文件的地址。同樣的,這樣的語(yǔ)句可以放在HTML文檔頭部或主體的任何部分。 如果要實(shí)現(xiàn)“直接插入方式”中所舉例子的效果,可以首先創(chuàng)建一個(gè)Javascript源代碼文件“Script.js”,其內(nèi)容如下:
document.writeln("這是Javascript!采用直接插入的方法!");
在網(wǎng)頁(yè)中可以這樣調(diào)用程序:script src="Script.js" language="Javascript"/script 。
二、Javascript基本概念
在這里只作簡(jiǎn)單介紹,在以后的例子中結(jié)程序再作具體解釋其作用。
1、運(yùn)算符
運(yùn)算符就是完成操和的一系列符號(hào),它有七類:
賦值運(yùn)算符、算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、條件運(yùn)算、位操作運(yùn)算符和字符串運(yùn)算符。
2、表達(dá)式
運(yùn)算符和操作數(shù)的組合稱為表達(dá)式,通常分為四類:賦值表達(dá)式、算術(shù)表達(dá)式、布爾表達(dá)式和字符串表達(dá)式。
3、語(yǔ)句
Javascript程序是由若干語(yǔ)句組成的,語(yǔ)句是編寫程序的指令。Javascript提供了完整的基本編程語(yǔ)句,它們是:
賦值語(yǔ)句、switch選擇語(yǔ)句、while循環(huán)語(yǔ)句、for循環(huán)語(yǔ)句、do while循環(huán)語(yǔ)句、break循環(huán)中止語(yǔ)句和continue循環(huán)中斷語(yǔ)句。
4、函數(shù)
函數(shù)是命名的語(yǔ)句段,這個(gè)語(yǔ)句段可以被當(dāng)作一個(gè)整體來引用不著和執(zhí)行。使用函數(shù)要注意以下幾點(diǎn):
1)函數(shù)由關(guān)鍵字function定義;
2)函數(shù)必須先定義后使用,否則將出錯(cuò);
3)函數(shù)名是調(diào)用函數(shù)時(shí)引用的名稱,它對(duì)大小寫是敏感的,調(diào)用函數(shù)時(shí)不可寫錯(cuò)函數(shù)名;
4)參數(shù)表示傳遞給函數(shù)使用或操作的值,它可以是常量,也可以是變量;
5)return語(yǔ)句用于返回表達(dá)式的值,也可以沒有。
5、對(duì)象
Javascript的一個(gè)重要功能就是基于對(duì)象的功能,通過基于對(duì)象的程序設(shè)計(jì),可以用更直觀、模塊化和可重復(fù)使用的方式進(jìn)行程序開發(fā)。
一組包含數(shù)據(jù)的屬性和對(duì)屬性中包含數(shù)據(jù)進(jìn)行操作的方法,稱為對(duì)象。比如要設(shè)定網(wǎng)頁(yè)的背景顏色,所針對(duì)的對(duì)象就是document,所用的屬性名是bgcolor,如document.bgcolor="blue",就是表示使背景的顏色為藍(lán)色。
6、事件
用戶與網(wǎng)頁(yè)交互時(shí)產(chǎn)生的操作,稱為事件。絕大部分事都由用戶的動(dòng)作所引發(fā),如:用戶按鼠標(biāo)的按鈕,就產(chǎn)生onclick事件,若鼠標(biāo)的指針的鏈接上移動(dòng),就產(chǎn)生onmouseover事件等等。在Javascript中,事件往往與事件處理程序配套使用。
學(xué)習(xí)Javascript比較快速有效的方法是先熟悉一些基本概念,然后找?guī)讉€(gè)別人設(shè)計(jì)好的程序認(rèn)真仔細(xì)地分析一遍,再稍作改動(dòng),再看看能否達(dá)到預(yù)期目的,不斷地舉一反三,既可以加深對(duì)一些參數(shù)、設(shè)計(jì)方法的理解,又可以快速地提高自己的水平。另外,再提醒一下:Javascript對(duì)大小寫是敏感的,特別是一些對(duì)象、方法、屬性的大小寫一定要一致,要養(yǎng)成一種良好的習(xí)慣,否則在調(diào)試程序時(shí)可要累死你了。
7、變量
如 var myVariable = "some value";