原生js面向对象基本思想及介绍

原创 2015年01月23日 23:24:03

今天学习了js面向对象,勉强算是面向对象吧,首先比较js是基于对象的饿,要想高级语言(java和。net)那样完全面向对象是不可能的,因为面向对象的三大特征,封装,继承,多肽,但在js不存在多肽,因为如果在同一个js文件中定义2个方法名相同的方法,不论参数个数,参数类型(js中参数不存在类型),是否相同,浏览器从上到先解析js文件(htnl文件),会已最后一个方法为准,最后一个方法(函数)会掩盖之前所有的同名的方法,

 现在主要介绍一些js面向对象的思想,首先定义对象,js中定义对象,实际上就是定义一个方法,用关键字function定义,和一般的方法(函数)的定义没有什么区别,只是在调用的时候,如果是直接掉用就是方法(函数)的执行,如果通过var 定义一个变量(这里说成对象更合理)然后在通过关键字new 去生成对象,那这就是js创建对象,还有一点的区别是,虽然,对象和方法都是通过function定义,但是一般的方法都只是功能代码的封装,但如果定义的是对象,里面就主要是属性的封装,已经与属性相关的一些方法,要么就是一个空方法(对象),然后可以动态的创建属性和方法,比如,创建一个学生对象,里面有2个属性,一个姓名(name),一个年龄(age),那么在定义这个对象的时候就可以吧这2个把这2个属性直接定义为该对象的属性





<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js对象</title>
<script type="text/javascript">
	//定义一个自带属性的对象
	function Student(_name,_age){
		this.name=_name
		this.age=_age;
		this.getName=function(){return this.name;}
		this.setName=function(_name){this.name=_name;}
	}
	//定义一个没有属性的对象
	function _student(){}
	window.onload=function(){
			var studs=new Array();//定义一个集合(数组)
			var student1=new Student();//创建对象
			student1.setName('张三');//通过方法赋值
			student1.age=23;//通过属性赋值
			var student2=new Student('李四',25);//创建对象(通过参数赋值)
			var student3=new Student('王五',25);//创建对象(通过参数赋值)
			var _student1=new _student()//创建一个没有属性的对象
				_student1.sex='男';//动态的创建属性并赋值
				_student1.belong1='属性1'//动态的创建属性并赋值
				_student1.belong2='属21'//动态的创建属性并赋值
			studs[0]=student1;//吧对象添加到集合
			studs[1]=student2;//吧对象添加到集合
			studs[2]=student3;//吧对象添加到集合
			var info='这是通过对象读取信息:<br/>'
			for(var i=0;i<studs.length;i++){
				info+='姓名:'+studs[i].name+' 年龄:'+studs[i].age+' getName方法:'+studs[i].getName()+'<br/>';
			}
			document.getElementById('content').innerHTML=info;
			document.getElementById('content1').innerHTML="动态属性数据:<br/>_student1.sex:"+_student1.sex+"_student1.belong1:"+_student1.belong1+"_student1.belong2:"+_student1.belong2;
			
		}
</script>
</head>
<body>
<div id="content"></div>
<div id="content1"></div>
</body>
</html>


用面向对象的编程思想去写js

有时候,还会看到一些搞前端的朋友或者苦逼被迫兼职写前端的后端朋友,去写js的时候,还是一个方法一个方法的去罗列。 就像下面这样: function click1(){ alert("1")...
  • u010480479
  • u010480479
  • 2016年08月05日 14:46
  • 2174

javascript中的面向对象理解(一)

一、注意:提到“面向对象”这一概念,众所周知,javascript中的面向对象思想与其他的编程语言(例如:PHP、Java等)是有着很大区别的。因此,我们先复习下,传统意义上,面向对象的相关概念,以便...
  • u014516981
  • u014516981
  • 2016年10月19日 23:48
  • 1835

面向对象基本思想之二

  • 2016年09月26日 13:54
  • 725KB
  • 下载

5: 面向对象的基本思想

面向对象(OO)   按照东西的特征和自然组织形式, 进行软件开发过程的   组织, 是一个开发过程的方法论. 学习面向对象: 学习如何用OO语法描述事物的特征和   自然组织形式. 学...
  • dw379936691
  • dw379936691
  • 2014年06月05日 16:27
  • 264

面向对象-基本思想

面向对象-基本思想 一.  思想             1.  面向对象和面向过程只不过是解决问题的两种不同的思路             2.  面向过程:哪些步骤      面向对象:哪些...
  • ZhuanShenDeGuDu
  • ZhuanShenDeGuDu
  • 2015年05月31日 09:12
  • 123

C++编程入门系列之十一(类与对象:面向对象设计的基本思想和特点)

上一讲鸡啄米讲了函数重载和函数模板以后,C++和C语言相似的语法就剩下后面要讲的数组了,这一讲开始鸡啄米就要讲C++所特有的一些概念和思想了。本节编程入门教程主要讲面向对象程序设计的基本思想和特点。另...
  • zhaoyinhui0802
  • zhaoyinhui0802
  • 2016年10月05日 16:57
  • 143

C++编程入门系列之十二(类与对象:面向对象设计的基本思想和特点)

C++编程入门系列之十二(类与对象:面向对象设计的基本思想和特点)上一讲鸡啄米讲了函数重载和函数模板以后,C++和C语言相似的语法就剩下后面要讲的数组了,这一讲开始鸡啄米就要讲C++所特有的一些概念和...
  • Snail_zhan
  • Snail_zhan
  • 2016年09月05日 14:40
  • 426

原生js实现无缝轮播(包括面向对象的写法)

  • 2017年12月13日 14:01
  • 441KB
  • 下载

华为C++中级训资料。ppt讲解类 接口 运算符重载 模板 word讲解 C++语言中级教材讲授C++语言的运用技术,包括:类、对象之间的关系、对象的存储与布局、运算符重载、智能指针、仿函数、泛型编程,C++模式设计基本思想。

  • 2010年11月02日 20:41
  • 407KB
  • 下载

PPG图像恢复算法的基本思想介绍

  • 2011年04月23日 23:59
  • 852KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:原生js面向对象基本思想及介绍
举报原因:
原因补充:

(最多只允许输入30个字)