zoukankan      html  css  js  c++  java
  • ECMA学习小结(2)——一切皆对象

    语言 = 数据结构 + 算法。首先对ECMA的数据结构做一个了解。

    Javascript是一门高度抽象的面向对象的语言,一切皆对象。

    1、什么是对象 ?(注意这里的对象是object,不是内置类型Object,注意区分大小写)

    一个ECMA的程序是由许多可以互相通信的object组成。每个object是由一系列的属性(property)组成。

    每个property可以看成一个容器,这个容器也具有一些属性,这些属性叫作attribute。

    这个容器里存放的东西可以是其它的object,原始值(primitive value)或函数(function)。

    每个object是ECMA的内置类型(built-in type)Object的成员。

    每个primitive value是ECMA的内置类型Undefined,Null,String,Number,Boolean之一的成员。(以上即是ECMA语言的类型,ECMA还有另外一些特定类型)

    function是个特殊的object,它是一个可调用的object。和一个object的属性联系在一起的function,我们叫它方法(method)。

    ECMA已经定义了许多object供使用,这些定义好的object被称为内置对象(built-in object)。其中包括全局对象(global object)和异常对象(error object)。

    全局对象包括:Object , Function , Array , String , Boolean ,Number , Math ,Date , RegExp , JSON

    异常对象包括:Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError.

    (这里又出现了一个Object ,这个全局对象Object是ECMA定义好的object,是内置类型Object的成员)

    (对于String,Number,Boolean。以Number为例,对var a = 1这样的代码,返回值为原始值Number value。对 var a = new Number(1),返回值则为Number对象)

     

    2、如何创建对象

    ECMA中规定创建对象有两种方法:字面量(literal notation),构造函数(constructor)。

    比如以下代码:

    在Chrome的console中进行查看

     

    定义了一个未赋值的a变量,它的返回值是原始值undefined.

    用字面量创建对象的方法定义了一个b,并给它传递了两个属性。(咦,这不是个JSON吗?其实我们平常所说的JSON,是指对象字面量。即Object{}这样的形式。ECMA另外规定了JSON对象,和这里的字面量不是一回事)

    c是用构造函数创建的对象。构造函数是创建一个实例时用到的函数,表现形式就是 new 运算符。我们new了一个Object的实例 c。

     
    P.s 关于字面量的解释
  • 相关阅读:
    Django Ajax
    Django模板层
    Django session源码剖析
    CBV源码剖析
    Django视图层
    Django版本区别
    Django路由层
    Django高级
    Django ORM
    Django入门
  • 原文地址:https://www.cnblogs.com/misadancer/p/3167478.html
Copyright © 2011-2022 走看看