zoukankan      html  css  js  c++  java
  • javascript_14-对象

    什么是对象

    生活中的对象,一个车、一个手机
    对象具有特性和行为

    面向对象和基于对象

    面向对象:可以创建自定义的类型、很好的支持继承和多态。面向对象的语言有 c++ 、Java、 C# ...

    • 面向对象的特征:封装、继承、多态
    • 万物皆对象:世间的一切事物都可以用对象来描述

    基于对象:无法创建自定义的类型、不能很好的支持继承和多态。基于对象的语言 JavaScrip t。

    JavaScript中的对象 :无序属性的集合。(属性包括方法)####

    • 其属性可以包括基本值、对象或函数。对象就是一组没有顺序的的值。我们可以把JavaScript中的对象想象成键值对,其中值可以是数据和函数。

        // 1 内存开辟空间,存储新创建的对象
        // 2 会把this设置为当前对象
        // 执行函数内部的代码,设置对象的属性和方法
        // 4 返回新创建的对象
        var s1 = new Student("zs", 19, 1, 100);
        s1.sayHi();
      
        console.log(s1.name);
        console.log(s1["name"]);
      
        // 对象:无序属性的集合,我可以把对象看成键值对。
        var o =new Object();
        o["name"] = "zs";
        console.log(o.name);
        
        for (let i = 0;  i < 10;i++) {
            // 动态给对象增加属性
            o["n"+i] = i;
        } 
      

    new Object()

    • new 后面调用函数,我们称之为构造函数。
    • Object() 我们把它视为一个构造函数,构造函数的本质就是一个函数,只不过构造函数的目的是为了创建新对象,为新对象进行初始化(设置对象的属性)。

    自定义构造函数 --- 构造函数:构造一个对象,并且返回的函数

    调用构造函数 new Object();

        function Student(name, age, sex, score) {
            this.name = name;
            this.age = age;
            this.sex = sex;
            this.score = score;
            //对象的方法
            this.sayHi = function () {
                console.log("大家好,我是" + this.name);
            }
        }
    

    this

    • 谁调用,this 就是谁

        function test(){
            // 此时this是window,因为是window调用的此函数。
            console.log(this);
        }
        test();
        window.test();// 一样的效果
  • 相关阅读:
    乘法九九表
    #include <time.h>
    【bzoj2060】[Usaco2010 Nov]Visiting Cows拜访奶牛 树形dp
    【codevs1380】没有上司的舞会 树形dp
    【bzoj1060】[ZJOI2007]时态同步 树形dp
    【bzoj2435】[NOI2011]道路修建 树形dp
    【bzoj3573】[HNOI2014]米特运输 树形dp
    【bzoj4027】[HEOI2015]兔子与樱花 树形dp+贪心
    【codevs1163】访问艺术馆 树形dp
    【bzoj1864】[ZJOI2006]三色二叉树 树形dp
  • 原文地址:https://www.cnblogs.com/hukuangjie/p/11186260.html
Copyright © 2011-2022 走看看