2. 構(gòu)造函數(shù)(public, private屬性和方法) 1: function Person(iName, iAge){ 2: //private field 3: var name = iName; 4: var age = iAge; 5: 6: //private method 7: var privatefn = function(){ 8: alert(name); 9: } 10: 11: return { 12: //public field 13: Name: "hello " + name, 14: Age: "hello " + age, 15: 16: ShowStudent: function(){ 17: privatefn(); 18: alert(this.Name); 19: } 20: }; 21: }調(diào)用:(new Person("xiao","10")).ShowStudent(); 3. 原型方法(prototype) 1: function c(){} 2: c.prototype={ 3: name: "init value a", 4: setName: function(iName){ 5: this.name=iName; 6: }, 7: getName: function(){ 8: alert('hello from c, name: ' + this.name); 9: } 10: }; 11: (new c).getName(); // 輸出hello from c, name: init value a 4. 構(gòu)造函數(shù)+原型方法(prototype) 1: function Person(iName) { 2: this.name = iName; 3: }; 4: 5: Person.prototype={ 6: getName: function(){ 7: returnthis.name; 8: } 9: }; 10: 11: //調(diào)用 12: var b = new Person("jack"); 13: alert(b.getName()); 5. 構(gòu)造函數(shù)+原型方法(prototype)- 節(jié)省內(nèi)存的寫法 1: function Person(iName, iAge){ 2: this.name=iName; 3: this.age=iAge; 4: 5: //對(duì)象實(shí)例都共享同一份方法不造成內(nèi)存浪費(fèi) 6: if(typeof Person._initialized == "undefined"){ 7: Person.prototype.ShowStudent=function(){ 8: alert(this.name); 9: }; 10: Person._initialized=true; 11: } 12: } 13: //調(diào)用 14: (new Person("jack","20")).ShowStudent();以上的實(shí)現(xiàn)方法如果不用_initialized的方法,也可以指向一個(gè)外部函數(shù),道理一樣。 6. JavaScript類的單例(Singleton)模式寫法 1: var MyNamespace = {}; 2: MyNamespace.Singleton = (function() { 3: var uniqueInstance; // Private attribute that holds the single instance. 4: function constructor() { // All of the normal singleton code goes here. 5: // Private members. 6: var privateAttribute1 = false; 7: var privateAttribute2 = [1, 2, 3]; 8: function privateMethod1() { 9: //... 10: } 11: function privateMethod2(args) { 12: //... 13: } 14: return { // Public members. 15: publicAttribute1: true, 16: publicAttribute2: 10, 17: publicMethod1: function() { 18: // ... 19: }, 20: publicMethod2: function(args) { 21: // ... 22: } 23: } 24: } 25: return { 26: getInstance: function() { 27: if(!uniqueInstance) { // Instantiate only if the instance doesn't exist. 28: uniqueInstance = constructor(); 29: } 30: return uniqueInstance; 31: } 32: } 33: })(); 34: 35: //調(diào)用: 36: MyNamespace.Singleton.getInstance().publicMethod1(); JavaScript好書推薦(只推3本,須精讀)

在資源等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)整合營(yíng)銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,資源網(wǎng)站建設(shè)費(fèi)用合理。
JavaScript中的數(shù)據(jù)很簡(jiǎn)潔的。簡(jiǎn)單數(shù)據(jù)只有 undefined, null, boolean, number和string這五種,而復(fù)雜數(shù)據(jù)只有一種,即object。這就好比中國(guó)古典的樸素唯物思想,把世界最基本的元素歸為金木水火土,其他復(fù)雜的物質(zhì)都是由這五種基本元素組成。
JavaScript中的代碼只體現(xiàn)為一種形式,就是function。
注意:以上單詞都是小寫的,不要和Number, String, Object, Function等JavaScript內(nèi)置函數(shù)混淆了。要知道,JavaScript語(yǔ)言是區(qū)分大小寫的呀!
任何一個(gè)JavaScript的標(biāo)識(shí)、常量、變量和參數(shù)都只是unfined, null, bool, number, string, object 和 function類型中的一種,也就typeof返回值表明的類型。除此之外沒有其他類型了。
先說(shuō)說(shuō)簡(jiǎn)單數(shù)據(jù)類型吧。
undefined: 代表一切未知的事物,啥都沒有,無(wú)法想象,代碼也就更無(wú)法去處理了。
注意:typeof(undefined) 返回也是 undefined。
可以將undefined賦值給任何變量或?qū)傩裕⒉灰馕读饲宄嗽撟兞浚炊鴷?huì)因此多了一個(gè)屬性。
null: 有那么一個(gè)概念,但沒有東西。無(wú)中似有,有中還無(wú)。雖難以想象,但已經(jīng)可以用代碼來(lái)處理了。
注意:typeof(null)返回object,但null并非object,具有null值的變量也并非object。
boolean: 是就是,非就非,沒有疑義。對(duì)就對(duì),錯(cuò)就錯(cuò),絕對(duì)明確。既能被代碼處理,也可以控制代碼的流程。
number: 線性的事物,大小和次序分明,多而不亂。便于代碼進(jìn)行批量處理,也控制代碼的迭代和循環(huán)等。
注意:typeof(NaN)和typeof(Infinity)都返回number 。
NaN參與任何數(shù)值計(jì)算的結(jié)構(gòu)都是NaN,而且 NaN != NaN 。
Infinity / Infinity = NaN 。
string: 面向人類的理性事物,而不是機(jī)器信號(hào)。人機(jī)信息溝通,代碼據(jù)此理解人的意圖等等,都靠它了。
簡(jiǎn)單類型都不是對(duì)象,JavaScript沒有將對(duì)象化的能力賦予這些簡(jiǎn)單類型。直接被賦予簡(jiǎn)單類型常量值的標(biāo)識(shí)符、變量和參數(shù)都不是一個(gè)對(duì)象。
所謂“對(duì)象化”,就是可以將數(shù)據(jù)和代碼組織成復(fù)雜結(jié)構(gòu)的能力。JavaScript中只有object類型和function類型提供了對(duì)象化的能力。
沒有類
object就是對(duì)象的類型。在JavaScript中不管多么復(fù)雜的數(shù)據(jù)和代碼,都可以組織成object形式的對(duì)象。
但JavaScript卻沒有 “類”的概念!
對(duì)于許多面向?qū)ο蟮某绦騿T來(lái)說(shuō),這恐怕是JavaScript中最難以理解的地方。是啊,幾乎任何講面向?qū)ο蟮臅校谝粋€(gè)要講的就是“類”的概念,這可是面向?qū)ο蟮闹е_@突然沒有了“類”,我們就象一下子沒了精神支柱,感到六神無(wú)主。看來(lái),要放下對(duì)象和類,達(dá)到“對(duì)象本無(wú)根,類型亦無(wú)形”的境界確實(shí)是件不容易的事情啊。
這是匿名函數(shù),直接執(zhí)行函數(shù)體
(function() { alert('Hello World'); })();
我寫一些代碼,也許能幫你理解
1:
function fn() { alert("Hello"); }
fn();
2:
var fn = function() { alert("Hello"); }
fn();
3:
( function() { alert("Hello"); })();
// 前面一個(gè)括號(hào)相當(dāng)于fn,后面一個(gè)括號(hào)相當(dāng)于"fn()"的"()"
1,我們?cè)谑褂肑avaScript代碼有兩種寫法:一種是在HTML頁(yè)面中直接嵌入js代碼,另一種是通過(guò)鏈接外部的JavaScript文件。
2,在HTML頁(yè)面中直接嵌入js代碼
3,如果在HTML頁(yè)面中直接嵌入JavaScript代碼,我們需要使用 script 標(biāo)簽,script 和 /script 會(huì)告訴 JavaScript 在何處開始和結(jié)束。
4,script
alert("My First JavaScript");
/script
5,在HTML頁(yè)面的任何位置(head部分 body部分 body的后面 較好)都可以插入script標(biāo)簽。
6,第二種用法:通過(guò)鏈接外部的JavaScript文件。
7,首先我們建立一個(gè)JavaScript文件,擴(kuò)展名是.js
然后將要編寫的js代碼寫到Js文件中,并保存文件。使用script標(biāo)簽將JavaScript文件鏈接到HTML文件中
//?在?checkf3?的末尾調(diào)用?goo();
//?或者把
onsubmit="return?checkf3();"
//?改成
onsubmit="return?checkf3()??goo();"
//?然后在?goo?和?checkf3?的末尾各加一行
return?true;
a
b
c
d
e
f
g
謝謝謝謝謝謝碼密。的入輸要需所面。界理管臺(tái)后器。由路陸登是。碼密理管。廖仲庭。器由。路。
當(dāng)前標(biāo)題:javascript寫法,js類的寫法
當(dāng)前路徑:http://chinadenli.net/article37/dseegpj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、Google、電子商務(wù)、品牌網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)