<html>
<head>
<script></script>
</head>
<body>
<!-- <script>
///////////壹开始///////////
//javascript创建对象
//函数、方法、事件处理函数、构造函数
//函数可独立存在;方法属于对象;事件处理函数处理事件;构造函数构造对象 /*
* 定义一个数组
*/
var arr = [1,2,3,4,5]; alert(typeof arr); // 弹出object,证明数组是对象 arr.push(6);
alert(typeof arr);
///////////壹结束///////////
</script> --> <!-- <script>
/**
*定义一个全局函数
*/
//function show(){
//alert(this);
//} window.show = function(){ // 为对象添加方法,不能太随意添加方法和属性,否则会覆盖已有方法和属性
alert(this);
} //调用show
window.show();
</script> -->
<!-- <script>
var arr = [1,2,3,4,5];
arr.show = function(){ // 本例中this表示函数调用者,但是new创建对象,this并不是指向调用者
alert(this);
}
arr.show();
</script> --> <!-- <script>
//构造工厂
function personFactory(name,age){
var person = new Object();
person.name = name;
person.age = age; person.showName = function(){
alert("姓名:" + this.name);
} person.showAge = function(){
alert("年龄:" + this.age);
} return person;
} var p1 = personFactory("猪",23);
var p2 = personFactory("狗",22); p1.showName();
p1.showAge(); p2.showName();
p2.showAge();
</script> --> <!-- <script>
//使用new创建js对象
function Person(name,age){ //var this = new Object(); // 等效于这句话 this.name = name;
this.age = age; this.showName = function(){
alert("姓名:"+this.name);
}
this.showAge = function(){
alert("年龄:"+this.age);
} //用new调用函数,函数内的this会指向新创建空白对象,而不是方法调用者,会自动返回该对象 //return this; // 自动返回创建对象,等效于这句话
} var p1 = new Person("小猪八",20);
var p2 = new Person("小沙沙",19); alert(p1.showName == p2.showName); // == 仅仅数值是否相等,比较的是方法,而不是属性值
</script> --> <!-- <script>
function Person(name,age){
this.name = name;
this.age = age;
} //添加原型方法,这样创建的对象都是用的同一套方法
Person.prototype.showName = function(){
alert("姓名:"+this.name);
}
Person.prototype.showAge = function(){
alert("年龄:"+this.age);
} //创建2个对象
var p1 = new Person("小猪八",22);
var p2 = new Person("我是沙沙",20); alert(p1.showName == p2.showName);
alert(p1.showName == Person.prototype.showName);
alert(p2.showName == Person.prototype.showName); </script> --> <script>
Array.prototype.sum = function(){
var sum = 0;
for(var i=0;i<this.length;i++){ // this标示调用sum方法的数组对象
sum += this[i];
}
return sum;
} var arr1 = new Array(1,2,3,4,5,6);
var arr2 = [11,22,33,44,55]; alert(arr1.sum());
alert(arr2.sum()); alert(arr1.sum == arr2.sum);
alert(arr1.sum == Array.prototype.sum);
alert(arr2.sum == Array.prototype.sum);
</script> </body>
</html>

关于javascript的面向对象知识,可以亲自敲一遍加深理解。

javascript面向对象知识的更多相关文章

  1. JavaScript进阶【三】JavaScript面向对象的基础知识复习

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. JavaScript 面向对象开发知识基础总结

    JavaScript 面向对象开发知识基础总结 最近看了两本书,书中有些内容对自己还是很新的,有些内容是之前自己理解不够深的,所以拿出来总结一下,这两本书的名字如下: JavaScript 面向对象精 ...

  3. 【转】javascript面向对象编程

    摘要:本文本来是想自己写的,奈何花了好长时间写好之后忘记保存,还按了刷新键,一键回到解放前,索性不写了,所以本文是转载的. 面向对象编程是用抽象方式创建基于现实世界模型的一种编程模式,主要包括模块化. ...

  4. Javascript基础知识总结一

    Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...

  5. 深入解读JavaScript面向对象编程实践

    面向对象编程是用抽象方式创建基于现实世界模型的一种编程模式,主要包括模块化.多态.和封装几种技术.对JavaScript而言,其核心是支持面向对象的,同时它也提供了强大灵活的基于原型的面向对象编程能力 ...

  6. 探讨javascript面向对象编程

    (个人blog迁移文章.) 前言: 下面将探讨javascript面向对象编程的知识. 请不要刻意把javascript想成面向对象编程是理所当然的. javascript里面,对象思想不可少,但是不 ...

  7. 第一百零九节,JavaScript面向对象与原型

    JavaScript面向对象与原型 学习要点: 1.学习条件 2.创建对象 3.原型 4.继承 ECMAScript有两种开发模式:1.函数式(过程化),2.面向对象(OOP).面向对象的语言有一个标 ...

  8. 《JavaScript面向对象编程指南》读书笔记②

    概述 <JavaScript面向对象编程指南>读书笔记① 这里只记录一下我看JavaScript面向对象编程指南记录下的一些东西.那些简单的知识我没有记录,我只记录几个容易遗漏的或者精彩的 ...

  9. 《JavaScript面向对象编程指南》读书笔记①

    概述 JavaScript快忘完了,想看一本专业书拾遗,所以看了这本<JavaScript面向对象编程指南>. 个人觉得这本书讲的很透彻很易懂,一些原来有疑惑的地方在这本书里面豁然开朗,看 ...

随机推荐

  1. Docker入门级简单的操作命令

    在理解 Docker 之前,首先得先区分清楚两个概念,容器和虚拟机. 虚拟机都需要有自己的操作系统,虚拟机一旦被开启,预分配给它的资源将全部被占用. 容器技术是和我们的宿主机共享硬件资源及操作系统,可 ...

  2. delphi 中实现当期日期 减去 若干小时的方法

    假定当期日期为:2011-08-01 15:00:00 now - 1      :代表前一天的日期 返回值:2011-07-31 15:00:00 now - 1/3   :代表8小时前       ...

  3. 《图解HTTP》读书笔记(四:HTTP方法)

    1.作用 告知服务器我的意图是什么使用以下方法下达命令. 2.方法 GET 方法用来请求访问已被 URI 识别的资源. 指定的资源经服务器端解析后返回响应内容. ---URI可以定位互联网上的资源 P ...

  4. webpack4.0.1安装问题和webpack.config.js的配置变化

    The CLI moved into a separate package: webpack-cli. Please install 'webpack-cli' in addition to webp ...

  5. 【Bad Practice】12306 query

  6. 浅析MySQL InnoDB的隔离级别

    MySQL InnoDB存储引擎中事务的隔离级别有哪些?对应隔离级别的实现机制是什么? 本文就将对上面这两个问题进行解答,分析事务的隔离级别以及相关锁机制. 隔离性简介 隔离性主要是指数据库系统提供一 ...

  7. cocos2d JS 源生js实现each方法

    javascript笔记——源生js实现each方法   出处:http://www.lovejavascript.com/#!zone/blog/content.html?id=48 jquery里 ...

  8. cocos creator使用anysdk接入admob广告教程

    http://lolling787.lofter.com/post/1f5b6553_12925042 cocos creator使用anysdk接入admob广告

  9. webpack基础小结。

    想写写webpack的学习体验的小结,加深自己的理解和使用技能,顺便过一下文档(4.0的功能感觉还是满好玩的). 本文主简写描述webpack中对各种文件的简单处理 基本知识点 处理js 加载css文 ...

  10. Leetcode: The Maze II

    There is a ball in a maze with empty spaces and walls. The ball can go through empty spaces by rolli ...