zoukankan      html  css  js  c++  java
  • ECMA概述

    ECMA是在宿主环境中执行计算,处理对象的面向对象编程语言。

    ECMA规范的定义,标准的编制,发布的历史演进,暂且不表,
    笔者单从实用角度摘写誊录。

    ECMA最初定位

         ECMA最初定位是Web脚本语言,它提供了一种机制,使浏览器里的网页更加活跃,成为基于Web的客户-服务器架构的一部分,执行服务器计算。

         Web浏览器为了客户端引入计算功能,在宿主环境提供了windows、menus、popups、 dialog boxes、frames、history、cookie及输入和输出。脚本代码出现在HTML中,显示出来的是一个用户接口元素与固定的和计算出来的文本和图片的集合。脚本代码根据用户的交互做出反应,并不需要一个主程序。

         Web服务器为了服务端,引入了requests、clients、files以及数据锁定和分享的机制。

         通过浏览器端脚本及服务器端脚本的配合使用,在为基于WEB方式的应用程序提供定制的用户接口,可以将计算分布到客户端和服务端进行。

        可知,ECMAScript是基于对象的,基本语言和宿主设施都是由对象提供,ECMAScript程序是一组可通信的对象。

        ECMAScript对象是属性的集合,每个属性有零个或多个特性。属性是持有其他 对象、原始值、函数的容器。原始值是以下内置类型之一的成员:Undefined、Null、Boolean、Number、String、Object。

    ECMAScript内置

        ECMAScript定义一组内置对象,勾勒出ECMAScript实体的定义。这些内置对象包括全局对象(global object) ,object对象,Function对象,Array对象、String对象、Boolean对象、Number对象、Math对象、Date对象、RegExp对象、JSON对象和Error对象。

        ECMAscript 定义一组内置运算符,包括一元运算符、乘法运算符、加法运算符、按位移位运算符、关系运算符、相等运算符、二进制位运算符、二进制逻辑运算符、赋值运算符、逗号运算符。  ECMAScript 的语法是松散的,使其能够作为一个易于使用的脚本语言。

        ECMAScript 对象可以通过各种方式创建,包括字面符号,或通过构造器创建对象然后运行代码初始化其全部或部分属性值,为这些属性分配初始值。

        每个构造器是一个拥有名为“prototype”的属性的函数。此属性用于实现基于原型的继承和共享属性。

        构造器通过new表达式创建对象,例如

    new Date()

    原型链

       每个由构造器创建的对象,都有一个隐式引用 ( 叫做对象的原型 ) 链接到构造器的“prototype”属性值。再者,原型可能有一个非空 (non-null) 隐式引用链接到它自己的原型,以此类推,这叫做 原型链 。

      当向对象的一个属性提出引用,引用会指向原型链中包含此属性名的第一个对象的此属性。换句话说,首先检查直接提及的对象的同名属性,如果对象包含同名的属性,引用即指向此属性,如果该对象不包含同名的属性,则下一步检查对象的原型。

                                               

                  

          CF 是一个构造器(也是一个对象)。五个新对象已用 new 表达式创建 : cf1, cf2, cf3, cf4, cf5。每个对象都有名为 q1 和 q2 的属性。虚线表示隐式原型关系;例如:cf3 的原型是 CFp。构造器 CF 自己有名为 P1 和 P2 的两个属性 , 这对 CFp, cf1, cf2, cf3, cf4, cf5 是不可见的。CFp 的名为 CFP1 的属性共享给 cf1, cf2, cf3, cf4, cf5 ( 没有 CF)。

  • 相关阅读:
    openCR-用ROS代码获取电压的方法
    openCR-用ROS代码控制按键的方法
    TurtleBot3-基础例程
    TurtleBot3-键盘远程控制
    TurtleBot3-Topic Monitor
    openCR-串口打印HelloWorld
    Ubuntu播放音乐 mp3 wav
    SQL Server2008创建约束图解 转
    height、clientHeight、scrollHeight、offsetHeight区别
    第一次弄项目有感
  • 原文地址:https://www.cnblogs.com/zhishiyv/p/14079490.html
Copyright © 2011-2022 走看看