一、面向?qū)ο缶幊?/strong>
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括武強(qiáng)網(wǎng)站建設(shè)、武強(qiáng)網(wǎng)站制作、武強(qiáng)網(wǎng)頁制作以及武強(qiáng)網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,武強(qiáng)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到武強(qiáng)省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
1.面向過程與面向?qū)ο?/strong>
1)面向過程:專注于如何解決一個(gè)問題的過程步驟,編程特點(diǎn)是由一個(gè)個(gè)函數(shù)去實(shí)現(xiàn)每一步的過程步驟,沒有類和對(duì)象的概念。
2)面向?qū)ο螅簩W⒂谟赡囊粋€(gè)對(duì)象來解決問題,編程特點(diǎn)是出現(xiàn)一個(gè)類,從類中拿到對(duì)象,由這個(gè)對(duì)象去解決具體問題。
對(duì)于調(diào)用者來說,面向過程需要調(diào)用者自己去實(shí)現(xiàn)各種函數(shù)。而面向?qū)ο螅恍枰{(diào)用者了解對(duì)象中具體方法的功能,不需要了解方法中的實(shí)現(xiàn)細(xì)節(jié)。
2.面向?qū)ο蟮娜筇卣?/strong>
面向?qū)ο蟮娜筇卣骼^承、封裝、多態(tài)。JS可以模擬實(shí)現(xiàn)繼承和封裝,但是無法模擬實(shí)現(xiàn)多態(tài),所以JS是一門基于對(duì)象的語言, 而不是傳統(tǒng)意義上的面向?qū)ο蟮恼Z言。
3.類和對(duì)象的關(guān)系
1)類是抽象的,對(duì)象是具體的(類是對(duì)象的抽象化,對(duì)象是類的具體化)
2)類是一個(gè)抽象的概念,只能說類有屬性和方法,但是不能給屬性賦具體的。比如,人類有姓名,但是不能說人類的姓名叫什么。
二、Javascript對(duì)象的創(chuàng)建方法
1.var obj = {}//簡(jiǎn)單對(duì)象plainObject 對(duì)象字面量/對(duì)象直接量
2.構(gòu)造函數(shù)(特點(diǎn):大駝峰式命名規(guī)則)
1)系統(tǒng)自帶的構(gòu)造函數(shù)
var obj = new Object();//相當(dāng)于var object = {}
2)自定義函數(shù)封裝
// 函數(shù)里面加參數(shù)才能使函數(shù)自定義,可以隨意改變函數(shù)中對(duì)應(yīng)參數(shù)的數(shù)據(jù),生產(chǎn)對(duì)象的時(shí)候必須得new對(duì)象
function Car(color){ this.color=color; this.name = "BMW"; this.height = "1400"; this.lang = "4900"; this.weight = 1000; this.health = 100; this.run = function(){ this.health -- ; } }
var car = new Car("red");
3.對(duì)象構(gòu)造函數(shù)的內(nèi)部原理3步
1)在函數(shù)體最上面隱式的加上一個(gè)對(duì)象:var this = {}
2)執(zhí)行函數(shù)體中的內(nèi)容
3)隱式的返回this對(duì)象
三、包裝類
1.原始值是不可能有屬性和方法(undefined、null、number、boolean、string)
2.有些原始值經(jīng)過包裝類之后,可以進(jìn)行調(diào)用
var num=123;//不是對(duì)象
var num1=new Number(123);//是對(duì)象
3.隱式包裝類的過程如下
var num = 4; num.len = 3;//隱式發(fā)生轉(zhuǎn)換,新建一個(gè)數(shù)字對(duì)象,然后添加屬性并賦值,最后刪除這個(gè)對(duì)象,所以在執(zhí)行過程中沒有報(bào)錯(cuò) console.log(num.len);//再新建一個(gè)數(shù)字對(duì)象,添加屬性,所以最后輸出為undefined var str="abcd"; str.length=2; console.log(str.length); //輸出為4,在輸出時(shí)原始值str包裝類之后輸出的為new String('abcd').length,字符串自帶length屬性,所以輸出長(zhǎng)度為4
以上就是js面向?qū)ο缶幊痰脑敿?xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!