zoukankan      html  css  js  c++  java
  • JavaScript那些事儿(01): 对象

    一. 对象是什么

    是单身童鞋们正在查找的“对象”吗?是的,他/她就是活生生的对象。

    Javascript是一种基于对象的语言, 你遇到的所有东西几乎都是对象。

    但它又不同于基于类的语言。那么“类”又是神马,简单来说,类就是对同一类事物抽象的称呼。

    比如“人”就是一个抽象的称呼,那么你,我,他,就是一个具体的‘人’对象。

    那么“抽象”又是神马,抽象就是抽出事物的本质特性而暂时不考虑它们的细节。

    抽象是人类在认识复杂现象中使用的最强有力的思维工具。抽象的目的是为了更好的具体!

    二. 对象有什么

    对象通常有属性和方法。 

    属性表示对象的静态特征,方法表示对象的动态行为。

    比如人有“姓名”、“年龄”等属性,也有“吃饭”、“行走”等方法。

    属性和方法又可统称为对象的“成员”,在javascript里统称为“属性”。

    也就是可以把“方法”看作一种特殊的“属性”。

    ECMA-262把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数”。

    我们可以把javascript中的对象看成一组键值对,其中“键”就是属性的名称,“值”就是属性的值。

    此外,对象还有生命周期,如同人要经历生老病死一样。

    下面看个最简单的JS对象:

    var person = {
    
      name: 'cnblog',
    
      score: 100,
    
      eat: function() {},
    
      walk: function() {}
    
    };

    三. 对象做什么

    对象做什么的前提,当然是对象有什么,对象只能做它能力范围内的事。

    通常一件简单的事情,一个对象自己就可以搞定。

    当需要处理复杂的事情时,就需要多个对象之间相互协作才能完成。

    既然要协作,那么必然要涉及对象之间如何沟通。

    对象之间有什么关系,怎样发生关系等等。

    当然这些问题,每种编程语言的设计者都给出了对应的解决方案。

    我们的任务就是学会灵活使用它们,避免不必要的踩坑。

    四. JS创建对象

    js创建对象有以下几种方式:

    (1). 使用对象字面量:

    var person = {
        name: 'cnblog',
        score: 100
    }

     (2). 使用Object:

    var person = new Object();
    person.name = 'cnblog';
    person.score = 100;

     (3). 使用函数构造器:

    function Person(name, score) {
      this.name = name;
      this.score = score
    }
    var person = new Person('cnblog', 100);

     其实使用Object类型创建对象,本质上也是使用函数构造器来创建的,因为Object也是函数构造器:

    typeof Object    // "function"

     (4). 使用Object.create:

    var person = Object.create(Object.prototype, {
      name: { writable:true, configurable:true, value: "cnblog" },
      score: { writable:true, configurable:true, value: 100 }
    });

     Object.create()是ES5新增的API,用于创建一个拥有指定原型和若干个指定属性的对象。

    五. JS内置对象

    javascript内置对象是指独立于宿主环境的 ECMAScript 实现提供的对象。

    常见的内置对象有:Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、Math。

     

     

     

     

  • 相关阅读:
    菜鸟级别学习
    BootSrap学习
    将一正整数序列{K1,K2,...,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。
    按递增顺序依次列出所有分母为40,分子小于40的最简分数。
    对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串"(max)"。
    有两个整数,如果每个整数的约数和(除了它本身以外)等于对方,我们就称这对数是友好的。
    创建一个带头结点的单链表,逆置链表,在单链表中删除值相同的多余结点,并遍历链表,删除链表最大节点。
    从键盘输入一个字符串,按照字符顺序从小到大进行选择排序,并要求删除重复的字符
    数组的逆置
    求亲密数
  • 原文地址:https://www.cnblogs.com/langjt/p/4513164.html
Copyright © 2011-2022 走看看