JavaScript面向对象之类的创建
JavaScript对象的定义:
在js中函数极为对象,对象分为二种:对象字变量产生的对象连接到Object.prototype;函数对象连接到Function.prototype
方法:当一个函数被保存为对象的一个属性时,我们称它为一个方法。
<!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=gb2312" />
<title>JavaScript中的类</title>
<script type="text/javascript">
//-------第一种:函数自变量
// 创建Object类的实例,所有直接用花括号括起来的都属于Object类,这种创建的类不用实例化
//!!!不推荐使用
var obj = {
property:'this is a property.',
method:function(){
return 'I am a method.'
}
};
// 调用方法:
console.info('property:'+obj.property+'\nmethod:'+obj.method()); //---------------第二种:函数对象
// 自定义类:其实在JavaScript中一个函数就是一个类,调用的时候必须进行实例化 -->可以使用
// !每个实例化的类都会有三个属性,只是其中一个属性是方法而已
function User(name,age){ // 虽然对类名没有强制要求,但建议类名进行大写
// 创建属性
this.name = name ;
this.age = age ;
//创建方法
this.getInfo = function(){
// 获得实例的变量必须加上this
return 'name-->'+this.name+'\nage-->'+this.age ;
}
}
// 调用方法
// 实例化
var user = new User() ;
console.info(user.getInfo()); //基于prototype进行创建 每个实例化的对象都公用统一的方法 -->强烈推荐使用
// 性能上和维护方面都是最好的
function Person(name,age){
this.age = age ;
this.name = name ;
}
Person.prototype.getInfo = function(){
return 'name-->'+this.name+'\nage-->'+this.age ;
};
// 调用方法
// 实例化
var person = new Person();
console.info(person.getInfo()); </script>
</head> <body>
<button onclick="javascript:alert('属性:'+obj.property+'\n方法:'+obj.method())" >第一:创建Object类的实例(不推荐)</button>
<button onclick="javascript:alert(new User('tom',12).getInfo())" >第二:自定义类(可以使用)</button>
<button onclick="javascript:alert(new Person('tom',12).getInfo())" >第三:基于原型prototype(推荐使用)</button> </body>
</html>
JavaScript面向对象之类的创建的更多相关文章
- JavaScript面向对象—对象的创建和操作
JavaScript面向对象-对象的创建和操作 前言 虽然说在JavaScript编程语言中,函数是第一公民,但是JavaScript不仅支持函数式编程,也支持面向对象编程.JavaScript对象设 ...
- javascript面向对象 用new创建一个基于原型的javascript对象
//创建一个类 其实就是个对象 var Student={ name:"robot", height:1.6, run:function(){ console.log(this.n ...
- JavaScript面向对象—继承的实现
JavaScript面向对象-继承的实现 前言 面向对象的三大特性:封装.继承和多态.上一篇我们简单的了解了封装的过程,也就是把对象的属性和方法封装到一个函数中,这一篇讲一下JavaScript中继承 ...
- JavaScript学习笔记(三)——this、原型、javascript面向对象
一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...
- JavaScript学习总结(三)——this、原型、javascript面向对象
一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...
- javascript面向对象系列第三篇——实现继承的3种形式
× 目录 [1]原型继承 [2]伪类继承 [3]组合继承 前面的话 学习如何创建对象是理解面向对象编程的第一步,第二步是理解继承.本文是javascript面向对象系列第三篇——实现继承的3种形式 [ ...
- javascript面向对象系列第一篇——构造函数和原型对象
× 目录 [1]构造函数 [2]原型对象 [3]总结 前面的话 一般地,javascript使用构造函数和原型对象来进行面向对象编程,它们的表现与其他面向对象编程语言中的类相似又不同.本文将详细介绍如 ...
- Javascript面向对象(封装、继承)
Javascript 面向对象编程(一):封装 作者:阮一峰 Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程( ...
- 【转】javascript面向对象编程
摘要:本文本来是想自己写的,奈何花了好长时间写好之后忘记保存,还按了刷新键,一键回到解放前,索性不写了,所以本文是转载的. 面向对象编程是用抽象方式创建基于现实世界模型的一种编程模式,主要包括模块化. ...
随机推荐
- java 面试基础典型题及答案
1.switch能否作用在byte.int.long.String? 答案:switch能作用在byte.int.enum常量, 补充:jdk7可以作用在String上 2.short s = 1; ...
- 合并多个excel工作簿
合并多个Excel工作簿,会出现电话号码以科学计数法显示,如果想要以字符串方式处理,要按如下完整代码 public static void mergeWorkBook() throws Excepti ...
- QTableWidget查找指定项(由github处学习到)
from PyQt4 import QtGui, QtCore class Window(QtGui.QWidget): def __init__(self, rows, columns): QtGu ...
- 照猫画虎学gnuplot之简单介绍
简单介绍:Gnuplot是一个命令行驱动的科学画图工具,可将数学函数或数值资料以平面图或立体图的形式画在不同种类终端机或画图输出装置上. 它是由Colin Kelley 和 Thomas Willia ...
- hdu1015(Safecracker )
Problem Description === Op tech briefing, 2002/11/02 06:42 CST === "The item is locked in a Kle ...
- Java第四周学习日记(绪)
1.静态导入 作用:简化书写静态导入可以作用一个类的所有静态成员静态导入格式:import static 包名.类名静态导入要注意的事项:如果静态导入的成员与本类的成员存在同名的情况下,那么默认使用本 ...
- 除去内容中的HTML代码方法
显示内容时,需要截取部分,而不要全部显示.在截取时,会出现这样的情况: 截取一定量的字符串后,可能会把未关闭的表格HTML代码留下来,最終导致界面受影响, 下面的是C#解决办法: public str ...
- mongodb 详解 error:10061 由于目标计算机积极拒绝,无法连接解决方法
mongodb下载地址(32位):下载地址 自己选择版本 建立如下与mongodb并行的两个文件夹data和log. 然后建立mongo.config. 在mongo.config配置文件中输入: # ...
- txt 分割程序
网上有很多 分割程序 ,但是他们都没有满足实际的用户要求 ,大家当然是希望看文章小说 一章节一章节的看 并非是那些传统意义上的按照文件的大小切割 所以 我特写本文研究下 这个简单的算法该怎样设计 说白 ...
- C#之获取本地IP地址
最近协助一个项目解决了一个获取IP地址的问题,手机客户端与WebService进行通讯,然后WebService通过TCP通讯把指令传递到另一台PC机上.在测试的过程中,总是会出现WebService ...