十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、面向对象编程
成都创新互联公司于2013年创立,先为平顶山等服务建站,平顶山等地企业,进行企业商务咨询服务。为平顶山企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。1.面向过程与面向对象
1)面向过程:专注于如何解决一个问题的过程步骤,编程特点是由一个个函数去实现每一步的过程步骤,没有类和对象的概念。
2)面向对象:专注于由哪一个对象来解决问题,编程特点是出现一个类,从类中拿到对象,由这个对象去解决具体问题。
对于调用者来说,面向过程需要调用者自己去实现各种函数。而面向对象,只需要调用者了解对象中具体方法的功能,不需要了解方法中的实现细节。
2.面向对象的三大特征
面向对象的三大特征继承、封装、多态。JS可以模拟实现继承和封装,但是无法模拟实现多态,所以JS是一门基于对象的语言, 而不是传统意义上的面向对象的语言。
3.类和对象的关系
1)类是抽象的,对象是具体的(类是对象的抽象化,对象是类的具体化)
2)类是一个抽象的概念,只能说类有属性和方法,但是不能给属性赋具体的。比如,人类有姓名,但是不能说人类的姓名叫什么。
二、Javascript对象的创建方法
1.var obj = {}//简单对象plainObject 对象字面量/对象直接量
2.构造函数(特点:大驼峰式命名规则)
1)系统自带的构造函数
var obj = new Object();//相当于var object = {}
2)自定义函数封装
// 函数里面加参数才能使函数自定义,可以随意改变函数中对应参数的数据,生产对象的时候必须得new对象
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.对象构造函数的内部原理3步
1)在函数体最上面隐式的加上一个对象:var this = {}
2)执行函数体中的内容
3)隐式的返回this对象
三、包装类
1.原始值是不可能有属性和方法(undefined、null、number、boolean、string)
2.有些原始值经过包装类之后,可以进行调用
var num=123;//不是对象
var num1=new Number(123);//是对象
3.隐式包装类的过程如下
var num = 4; num.len = 3;//隐式发生转换,新建一个数字对象,然后添加属性并赋值,最后删除这个对象,所以在执行过程中没有报错 console.log(num.len);//再新建一个数字对象,添加属性,所以最后输出为undefined var str="abcd"; str.length=2; console.log(str.length); //输出为4,在输出时原始值str包装类之后输出的为new String('abcd').length,字符串自带length属性,所以输出长度为4
以上就是js面向对象编程的详细内容,更多请关注创新互联成都网站设计公司其它相关文章!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。