zoukankan      html  css  js  c++  java
  • JavaScript面向对象(四)

    1.JavaScript中的数据类型

    number(数值类型)

    string(字符串类型)

    boolean(布尔类型)

    null(空类型)

    undefined(未定义类型)

    object(对象类型)

    2.对象是什么?

    对象是包含相关属性和方法的集合体,它包括 属性和 方法

    3.什么是面向对象?

    面向对象仅仅是一个概念或者编程思想,通过一种叫做原型的方式来实现面向对象编程

    4.创建对象包括自定义对象和内置对象

    常见的内置对象:

    String(字符串)对象:length属性 indexOf()方法 replace()方法

    Date(日期)对象:get***:获取年、月、日、时、分、秒等等 set***:获取年、月、日、时、分、秒等等

    Array(数组)对象:length属性 sort()、concat()、join()方法

    boolean(逻辑) 对象:true或者false

    Math(算数) 对象 : round()、max() 、min()

    RegExp 对象 : 是正则表达式的缩写

    自定义对象

    基于Object对象的方式创建对象

    语法:var 对象名称=new Object( )

    var person=new Object();

    person.name="小明";

    person.sex="男";

    person.age=18;

    person.hobby="看书、看电影、健身、购物等";

    person.showName=function(){

    alert(this.name);}

    person.showName();

    使用字面量赋值方式创建对象

    var person={

    name:"小明",

    sex:"男",

    age:18,

    hobby:"看书、看电影、健身、购物等",

    showName:function(){

    alert(this.name);}

    }

    person.showName();

    5.如何解决使用同一个接口不需要创建很多对象,减少产生大量的重复代码?

    构造函数、 原型对象

    6.调用构造函数的4个步骤

    创建一个新对象

    将构造函数的作用域赋给新对象(this)

    执行构造函数中的代码

    返回新对象

    7.constructor属性指向Person

    alert(person1.constructor==Person);

    alert(person2.constructor==Person);

    alert(person3.constructor==Person);

    8.使用instanceof操作符检测对象类型

    alert(person1 instanceof Object);

    alert(person1 instanceof Person);

    alert(person2 instanceof Object);

    alert(person2 instanceof Person);

    alert(person3 instanceof Object);

    alert(person3 instanceof Person);

    9.原型对象:是原来的对象

    function Person (){
    
    }
    
    Person.prototype.name="小明";
    
    Person.prototype.sex="男";
    
    Person.prototype.age=18;
    
    Person.prototype.hobby="看书、看电影、健身、购物等";
    
    Person.prototype.showName=function() {
    
    alert(this.name);
    
    }
    
    var person1=new Person();
    
    person1.showName();
    
    var person2=new Person();
    
    person2.showName();
    
    alert(person1.showName==person2.showName);

    10.原型链:一个原型对象一个原型对象拼接在一起

    一个原型对象是另一个原型对象的实例 相关的原型对象层层递进,就构成了实例与原型的链条,就是原型链

    function Humans(){
    
    this.foot=2;
    
    }
    
    Humans.prototype.getFoot=function(){
    
    return this.foot;
    
    }
    
    function Man(){
    
    this.head=1;
    
    }
    
    Man.prototype=new Humans(); //继承了
    
    Humans Man.prototype.getHead=function(){
    
    return this.head;
    
    }
    
    var man1=new Man();
    
    alert(man1.getFoot()); //2
    
    alert(man1 instanceof Object); //true
    
    alert(man1 instanceof Humans); //true
    
    alert(man1 instanceof Man); //true

    11.调用man1.getFoot( ) 经历的三个步骤

    搜索实例

    搜索Man.prototype

    搜索Humans.prototype

    12.对象继承

    function Humans(){

    this.clothing=["trousers","dress","jacket"];

    } function Man(){

    } //继承了

    Humans Man.prototype=new Humans();

    var man1=new Man();

    man1.clothing.push("coat");

    alert(man1.clothing);

    var man2=new Man();

    alert(man2.clothing);

    13.借用函数

    apply:应用某一对象的一个方法,用另一个对象替换当前对象

    语法:apply([thisObj [,argArray]])

    call:调用一个对象的一个方法,以另一个对象替换当前对象

    语法:call([thisObj[,arg1[,arg2[, [,argN]]]]])

    function Humans(name){

    this.name=name;

    } function Man(){

    Humans.call(this,"mary"); //继承了Humans,同时还传递了参数

    this.age=38; //实例属性

    }

    var man1=new Man();

    alert(man1.name); //输出mary

    alert(man1.age); //输出38

    14.组合继承

    也叫做伪经典继承 将原型链和借用构造函数的技术组合到一块,发挥二者之长的一种继承模式 使用原型链实现对原型属性和方法的继承,而通过借用构造函数来实现对实例属性的继承

  • 相关阅读:
    js控制滚动条滑动
    js二维码插件总结
    wer
    验证插件——jquery.validate.js
    .py小程序总结
    Linux中xargs命令的使用
    Cacti、解决cacti的snmp error
    Cacti安装使用
    用Python发一个高逼格的朋友圈
    windows安装zabbix-agent
  • 原文地址:https://www.cnblogs.com/304979850w/p/13178039.html
Copyright © 2011-2022 走看看