摘要:談一談我對面向對象的理解普通過程式寫法就是一步一步按著邏輯去寫代碼,而面向對象是以對象的思想寫代碼,把所有的屬性跟方法掛載在對象上,需要調用的是一個對象出來我們一直都在使用對象對象下面的屬性對象下面的方法面向對象編程特點抽象抓住核心問題封裝
1.談一談我對面向對象的理解
普通過程式寫法就是一步一步按著邏輯去寫代碼,而面向對象是以對象的思想寫代碼,把所有的屬性跟方法掛載在對象上,需要調用的是new一個對象出來
我們一直都在使用對象:Array,Date
ar arr = new Array() arr.length //對象下面的屬性 arr.push() //對象下面的方法
面向對象編程(oop)特點
● 抽象:抓住核心問題
● 封裝:只能通過對象來訪問方法,如arr.push()
● 繼承:從已有對象上繼承出新的對象
● 多態:多對象的不同形態(在js中用的比較少)
構造函數:new后面調用的函數叫做構造函數
this指向問題
● 當new去調用一個函數,this就是創建出來的對象而且函數的返回值直接就是this
面向對象的組成:方法、屬性
面向對象的方法(行為、操作):函數、過程、動態的
//對象方法:對象下面的函數 arr.sort = function(){ alert("1") }_
面向對象的屬性(變量):狀態、靜態的
//對象下面的屬性:對象下面的變量 var arr=[]; arr.number = 10; alert(arr.nuber)3.Prototype模式
如果創建的對象多了,那么同樣的方法會存在很多份,為了提高性能,所以用.Prototype模式 (去改寫對象下面共用的方法和屬性,讓共用的方法或者屬性在內存中存在一份)
原型:類似于css中的class
普通:方法看做是css中的style
//原型寫法 function Show(){ this.name = 3; }; Show.prototype.showName = function(){ var This = this; alert(This.name) }; var p1 = new Show(); p1.showName()4.系統中的對象使用
js就是基于原型的程序
例如數組的push方法: arr.push(); Array.prototype.push = function(){}
注意:盡量不要去修改或者添加系統對象下面的方法和屬性
5.對象的繼承有時候封裝好的函數并不一定在項目的任何地方都是可以直接復用,這時候就需要在原有的對象上新生成一個新的對象來滿足當前的需求
什么是繼承:
● 在原有對象的基礎上,略作修改,得到一個新的對象
● 不影響原有對象的功能
如何繼承
屬性的繼承:
function 新的函數(){ createPerson.call(this,需要的屬性,需要的屬性) }
方法的繼承:
for(var attr in 原有函數){ 新函數.prototype[attr] = 有函數.prototype[attr] }如果有寫的不好的地方請不吝賜教,不勝感激!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/90841.html
摘要:是完全的面向對象語言,它們通過類的形式組織函數和變量,使之不能脫離對象存在。而在基于原型的面向對象方式中,對象則是依靠構造器利用原型構造出來的。 JavaScript 函數式腳本語言特性以及其看似隨意的編寫風格,導致長期以來人們對這一門語言的誤解,即認為 JavaScript 不是一門面向對象的語言,或者只是部分具備一些面向對象的特征。本文將回歸面向對象本意,從對語言感悟的角度闡述為什...
摘要:更形象的我們還可以將面向對象理解為一種宗教信仰。這就導致面向對象教的程序員們在寫時就很難受。所以為了滿足信仰面向對象教的需求通過構造函數的形式模擬了偽類。這個套路的核心就是類那么里沒有類所以其實是通過構造函數來模擬的偽類。 JS面向對象之一 【概述】 在學習JS的面向對象之前,我們應該先自問這樣幾個問題: 面向對象是什么意思? 學習面向對象的核心是什么? 為什么要學習面向對象?(它的...
摘要:對象重新認識面向對象面向對象從設計模式上看,對象是計算機抽象現實世界的一種方式。除了字面式聲明方式之外,允許通過構造器創建對象。每個構造器實際上是一個函數對象該函數對象含有一個屬性用于實現基于原型的繼承和共享屬性。 title: JS對象(1)重新認識面向對象 date: 2016-10-05 tags: JavaScript 0x00 面向對象 從設計模式上看,對象是...
摘要:自己的理解的第一個參數就是的值如果沒用默認是那個調用函數的當前的對象在全局作用域中就是被隱藏的所以不寫且在全局作用于調用函數的時候就是可以使用或者自己指定的指向 JS面向對象一:MVC的面向對象封裝 MDNjavascript面向對象 面向對象(Object-Oriented) showImg(https://segmentfault.com/img/remote/1460000016...
摘要:雖然,也是面向疾苦的語言,但是,它和靜態類型語言的面向接口編程不一而足。對象對他自己的行為負責,其他對象不關心它的內部實現。 ‘工欲善其事,必先利其器’,在深入學習JavaScript之前,我認為我們很有必要了解以下,JavaScript這門面向對象的動態語言到底是一門什么樣的語言。 JavaScript vs 其他面向對象語言 它沒有使用像Java等傳統的面向對象語言的類式繼承,而...
閱讀 2955·2021-11-24 09:39
閱讀 2863·2021-09-29 09:34
閱讀 3558·2021-09-24 10:23
閱讀 1744·2021-09-22 15:41
閱讀 1697·2019-08-30 15:55
閱讀 3512·2019-08-30 13:58
閱讀 2621·2019-08-30 13:11
閱讀 1667·2019-08-29 12:31