• onload 初始化 类似 构造函数初始化对象
  • 全局变量  ->  属性
  • 函数  ->  方法
  • 面向对象中最重要的就是 this的理解  this报错的原因  定时器的使用
function Aaa()
{
var _this=this;
this.a=1; //使用定时器 其中的this 指向window
setInterval(function (){ _this.show();
}, 1000);
} Aaa.prototype.show=function ()
{
//如果不定义_this,那么this.a调用的就是 window
alert(this.a);
}; window.onload=function ()
{
new Aaa();
};
  • Json方式 的面向对象
//相对简单 如果需要多个对象就不行了   比如 多点登录
var obj={a: 12, b: 5, c: function (){
alert(this.a);
}}; obj.c(); var p1={
name: 'blue',
sex: '男',
showName: function ()
{
alert('我的名字是:'+this.name);
},
showSex: function ()
{
alert('我的性别是'+this.sex+'的');
}
}; p1.showSex();

JS本身是没有继承标准的  js也没有提供标准  所谓的继承就是 具备父级的属性和方法  开发者根据需要  实现自己需求  用了各种方法

 <?php
// PHP中的继承
class Person
{
function __construct($name, $sex)
{
$this->name=$name;
$this->sex=$sex;
} function showName()
{
echo $this->name;
} function showSex()
{
echo $this->sex;
}
} class Worker extends Person
{
function __construct($name, $sex, $job)
{
parent::__construct($name, $sex); $this->job=$job;
} function showJob()
{
echo $this->job;
}
} $w1=new Worker('blue', '男', '打杂的'); $w1->showName();
$w1->showJob();
?>
//js中的 一种继承写法
function Person(name, sex)
{
this.name=name;
this.sex=sex;
} Person.prototype.showName=function ()
{
alert(this.name);
}; Person.prototype.showSex=function ()
{
alert(this.sex);
}; //------------------------------------- function Worker(name, sex, job)
{
//this->new出来的Worker对象
//构造函数伪装 调用父级的构造函数——为了继承属性
Person.call(this, name, sex); this.job=job;
} //原型链 通过原型来继承父级的方法 这种赋值会影响Person的方法 不推荐使用
//Worker.prototype=Person.prototype;

//循环赋值
for(var i in Person.prototype)
{
Worker.prototype[i]=Person.prototype[i];
} Worker.prototype.showJob=function ()
{
alert(this.job);
}; var oP=new Person('blue', '男');
var oW=new Worker('blue', '男', 'php'); oP.showName();
oP.showSex(); oW.showName();
oW.showSex();
oW.showJob();

JS-面向对象相关的更多相关文章

  1. JS面向对象(3) -- Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法

    相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...

  2. JS面向对象(2) -- this的使用,对象之间的赋值,for...in语句,delete使用,成员方法,json对象的使用,prototype的使用,原型继承与原型链

    相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...

  3. JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式

    相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...

  4. 拖拽系列二、利用JS面向对象OOP思想实现拖拽封装

    接着上一篇拖拽系列一.JavaScript实现简单的拖拽效果这一篇博客将接着对上一节实现代码利用JS面向对象(OOP)思维对上一节代码进行封装; 使其模块化.避免全局函数污染.方便后期维护和调用:写到 ...

  5. JS面向对象笔记二

    菜单导航,<JS面向对象笔记一>,  参考书籍:阮一峰之<JavaScript标准参考教程> 一.构造函数和new命令 二.this关键字 三.构造函数和new命令 四.构造函 ...

  6. js面向对象设计之class继承

    EcmaScript 2015 (又称ES6)通过一些新的关键字,使类成为了JS中一个新的一等公民.但是目前为止,这些关于类的新关键字仅仅是建立在旧的原型系统上的语法糖,所以它们并没有带来任何的新特性 ...

  7. js面向对象设计之function类

    本文仅探讨如何合理的使用 function 在 javascript中实现一个面向对象设计的类.总所周知,javascript 并不能实现一个真正意义上的类,比如 protect 比如 函数重载.下面 ...

  8. ES6学习笔记(三):教你用js面向对象思维来实现 tab栏增删改查功能

    前两篇文章主要介绍了类和对象.类的继承,如果想了解更多理论请查阅<ES6学习笔记(一):轻松搞懂面向对象编程.类和对象>.<ES6学习笔记(二):教你玩转类的继承和类的对象>, ...

  9. js 面向对象 动态添加标签

    有点逻辑 上代码 thml布局 点击查看代码 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  10. js面向对象学习 - 对象概念及创建对象

    原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...

随机推荐

  1. Spring Data MongoDB 分页查询

    在上篇文章 Spring Data MongoDB 环境搭建 基础上进行分页查询 定义公用分页参数类,实现 Pageable 接口 import java.io.Serializable; impor ...

  2. Node服务端极速搭建 -- nvmhome

    > 本文意在让你掌握极速搭建Node服务端(任何Project) ```$ whoaminame: kelvinemail: kelvv@outlook.comhomepage: www.kel ...

  3. Python爬虫教程-09-error 模块

    Python爬虫教程-09-error模块 今天的主角是error,爬取的时候,很容易出现错,所以我们要在代码里做一些,常见错误的处,关于urllib.error URLError URLError ...

  4. flask框架下的jinja2模板引擎(2)(过滤器与自定义过滤器)

    flask框架下的jinja2模块引擎(1):https://www.cnblogs.com/chichung/p/9774556.html 这篇论文主要用来记录下 jinja2 的过滤器. 什么是过 ...

  5. 关于jrebel碰到的一次问题记录

    今天使用jrebel更新gitlab的代码之后,项目总是启动报错.报一个类找不到,但是这个类在整个目录下搜索不到,在target的class目录看了下也没有对应的目录.郁闷了好久,最后同事看了下,在整 ...

  6. JavaScript停止事件冒泡和取消事件默认行为

    功能:停止事件冒泡 function stopBubble(e) { // 如果提供了事件对象,则这是一个非IE浏览器 if ( e && e.stopPropagation ) { ...

  7. 安装SCOM Reporting Server

    在SQL群集计算机上可以安装SCOM Reporting Server. 1.运行SQL Server安装程序,选择 全新安装SQL Server,不能向已有的群集实例中添加Reporting Ser ...

  8. 软件磁盘阵列 (Software RAID)

    什么是 RAID 磁盘阵列全名是『 Redundant Arrays of Inexpensive Disks, RAID 』,容错式廉价磁盘阵列. RAID 可以通过一些技术(软件或硬件),将多个较 ...

  9. 第一个c程序和vs2017 在打开MFC rc文件时找不到rcdll.dl

    第一个c程序 #include<stdio.h> int main() { ; ; printf_s("请输入两个数字:"); scanf_s("%d,%d& ...

  10. cygwin64-安装包管理工具

    1.dos command, install pkg $ setup-x86_64.exe -q -P curl $ setup-x86_64.exe -q -P lynx 2. cygwin64 c ...