您的位置:首页 > Web前端 > JavaScript

面向对象的几个问题

2017-06-27 20:40 204 查看
一,什么是js面向对象?

今天学习了js面向对象,而且在老师讲解面向对象的前晚,就看了一下百科里面介绍的知识点,说的很专业,也非常抽象,所以,今天想谈谈这个神秘莫测的面向对象。

谈论js面向对象,我想谈谈面向对象,是从生活中的万事万物谈点东西。

其实,大家都知道,万物皆对象。那对象究竟是什么?很简单,对象就是我们在生活中见到的所有个体或者团体,比如,一个人,一架飞机…….就不一一列举。那

javascript中的对象又是什么呢?这里我就详细说下:首先,javascript中的对象,是一个抽象体,我们可以认为一个函数就是一个对象,但是这样说就过于片面,因为它更注重的是一种思想,一种经过分装的整体,因而有了复用性更强的特性,这种特性给在软件开发过程中带来了极大地方便,也提高了效率,如下代码:

function HelloWorld()

{

alert(‘hello world!’);

}

我们可以当做对象来使用。

二,js面向对象的特点:

1,抽象。 什么是抽象呢?首相我们想到的是世界上难以理解的东西,是抽象。javascript中面向对象里的抽象又是什么呢?我们打个比方:比如说,北京图书馆,上海市图书馆,图书馆里有北京图书管理员,上海读书管理员,它们当中有个共同的特性就是图书馆,所以我们就把他出想出来。很简单,javascript里抽象出来的是什么呢?就是捉住核心问题,将他分离出来。

2,封装。 什么是封装呢? 封装在javascript面向对象里是个很重要的概念,简单来说就是不考虑内部实现,只考虑外部功能的实现。jq就是面向对象里分装的典型,它内部数据的编写,我们是无法去研究的,我们只要通过接口来使用它的功能,

3,继承。什么是集成呢?简单说就是从以已有对象身上继承出新的对象。

4,多态。就是一个方法调用多个对象那里的属性,对象返回的值,如下的代码:

function creat(a, b){

var a = a;

var b = b;

if(typeof a == “number” && typeof b == “number”) {

alert(a * b);

}else if(typeof a == “string” && typeof b == “string”) {

alert(a + b);

}else{

alert(“输入错啦”);

}

}

creat(3, 4); // 输出12;

creat(“hi,”, “你好”); //输出hi,你好;

creat(“hi”, 5); //输入错啦.

三,怎么写构造函数?

构造函数,就是一个普通函数,但是内部使用了 this 变量。对函数使用 new,就能生成实例,并且 this 变量会绑定在实例对象上 使用构造器创建出来的对象会有一个 constructor 属性,指向它们的构造函数。

构造函数的类的首字母必须是大写字母。

function Cat(nam , colo){

 Animal.apply(this, arguments) 

this.nam = name;

this.colo = color;

}

  var cat1 = new Cat(“大毛”,”黄色”);

  alert(cat1.species); // 动物
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面向对象 javascript