• Non ci sono risultati.

ECMAScript 3 Edition Compact Profile Standard ECMA-327

N/A
N/A
Protected

Academic year: 2021

Condividi "ECMAScript 3 Edition Compact Profile Standard ECMA-327"

Copied!
14
0
0

Testo completo

(1)

Standard ECMA-327

June 2001

S t a n d a r d i z i n g I n f o r m a t i o n a n d C o m m u n i c a t i o n S y s t e m s

P h o n e : + 4 1 2 2 8 4 9 . 6 0 . 0 0 - F a x : + 4 1 2 2 8 4 9 . 6 0 . 0 1 - U R L : h t t p : / / w w w . e c m a . c h - I n t e r n e t : h e l p d e s k @ e c m a . c h

ECMAScript 3rd Edition Compact Profile

(2)

.

(3)

Draft Standard ECMA-327

June 2001

S t a n d a r d i z i n g I n f o r m a t i o n a n d C o m m u n i c a t i o n S y s t e m s

P h o n e : + 4 1 2 2 8 4 9 . 6 0 . 0 0 - F a x : + 4 1 2 2 8 4 9 . 6 0 . 0 1 - U R L : h t t p : / / w w w . e c m a . c h - I n t e r n e t : h e l p d e s k @ e c m a . c h NBO ECMA-327.doc -07-01

ECMAScript 3rd Edition Compact Profile

(4)

.

(5)

Brief History

This Standard defines ECMAScript Compact Profile as a subset of ECMA-262 (ECMAScript).

ECMAScript is based on several originating technologies, the most well known being JavaScript (Netscape) and JScript (Microsoft). The language was invented by Brendan Eich at Netscape and first appeared in that company’s Navigator 2.0 browser. It has appeared in all subsequent browsers from Netscape and in all browsers from Microsoft starting with Internet Explorer 3.0.

The development of an ECMA standard began in November 1996. The first edition of ECMA-262 was adopted by the ECMA General Assembly of June 1997.

That ECMA Standard was submitted to ISO/IEC JTC1 for adoption under the fast-track procedure, and approved as international standard ISO/IEC 16262, in April 1998. The ECMA General Assembly of June 1998 approved the second edition of ECMA-262 to keep it fully aligned with ISO/IEC 16262. Changes between the first and the second edition are editorial in nature.

The third edition of ECMA-262 includes significant enhancements, for instance support for regular expressions, and improvements in regards to internationalisation. It was adopted by the ECMA General Assembly in December, 1999.

This Standard defines the ECMAScript Compact Profile as a strict subset of the 3rd edition of ECMA-262. The Compact Profile is intended to meet the needs of resource-constrained environments.

This Standard has been adopted by the ECMA General Assembly of June 2001.

(6)
(7)

- i -

Table of contents

1 I n t r o d u c t i o n 1

1 . 1 S c o p e 1

1 . 2 C o n f o r m a n c e 1

2 N o r m a t i v e R e f e r e n c e s 1

3 D e f i n i t i o n s 1

4 O v e r v i e w 1

5 L a n g u a g e 2

5 . 1 R u n t i m e C o m p i l a t i o n 2

5 . 2 D y n a m i c M o d i f i c a t i o n o f B u i l t - i n O b j e c t s 2

5 . 3 T h e w i t h S t a t e m e n t 2

(8)
(9)

1 Introduction 1 . 1 S c o p e

This Standard defines the ECMAScript Compact Profile (ES-CP) scripting language.

1 . 2 C o n f o r m a n c e

A conforming implementation of ES-CP must provide and support all the types, values, objects, properties, functions, and program syntax and semantics described or normatively referenced in this specification.

A conforming implementation of ES-CP is permitted to provide additional types, values, objects, properties, and functions beyond those described in this specification. In particular, a conforming implementation of ES-CP is permitted to provide properties not described in this specification, and values for those properties, for objects that are described in this specification.

2 Normative References

ECMA-262 ECMAScript Language Specification (3rd Edition)

3 Definitions

ES3 ECMAScript Language Specification (ECMA-262), 3rd Edition ES-CP ECMAScript 3rd Edition Compact Profile

4 Overview

This section contains a non-normative overview of the ECMAScript Compact Profile language.

ECMAScript 3rd Edition is an object-based programming language for performing computations and manipulating computational objects within a host environment.

ECMAScript Compact Profile is a subset of ECMAScript 3rd Edition tailored to resource-constrained devices such as battery-powered embedded devices. Therefore, special attention is paid to constraining ECMAScript features that require proportionately large amounts of system memory (both for storing and executing the ECMAScript language features) and continuous or proportionately large amounts of processing power.

Operations which can potentially consume lots of memory may exhaust the available memory in a resource constrained device. It is recommended that implementations of ES-CP provide a means for scripts to determine the amount of available memory, to allow the appropriate action to be taken when memory is in short supply.

Implementations of ES-CP are also recommended to provide a means for scripts to determine the version of host objects (see ES3 section 4.3.8).

(10)

- 2 -

5 Language

This section contains a normative description of ECMAScript 3rd Edition Compact Profile. Unless specifically noted, ES-CP adopts all requirements of ECMA-262 3rd Edition.

5 . 1 R u n t i m e C o m p i l a t i o n

A conforming implementation of ES-CP SHALL support the global built-in object, but is NOT REQUIRED to support the global eval() method (ES3 section 15.1.2.1). A conforming implementation is NOT REQUIRED to support calling Function as a function (ES3 section 15.3.1.1) or as a constructor (ES3 section 15.3.2.1).

An implementation that does not support global eval() or calling Function as a function or constructor SHALL throw an EvalError exception whenever global eval() (ES3 section 15.1.2.1), Function(p1, p2, ..., pn, body) (ES3 section 15.3.1.1), or new Function(p1, p2, ..., pn, body) (ES3 section 15.3.2.1) is called.

NOTE

Runtime compilation is one of the most resource intensive features of ECMA-262, and many target environments for ES-CP might not support it. Global eval() requires runtime compilation because the source text might not appear in the program (ECMA-262 sections 15.1.2.1 and 10.1.2). Runtime compilation is required to support the Function constructor and the Function function when the body is not a string literal.

5 . 2 D y n a m i c M o d i f i c a t i o n o f B u i l t - i n O b j e c t s

A conforming implementation of ES-CP is NOT REQUIRED to allow addition, deletion or assignment to the properties of built-in objects, other than the global object. Built-in properties of the global object are READONLY and DONTDELETE. Properties of the global object introduced by declarations (ES3 section 10.1.3) may be modified but not deleted.

If the implementation does not allow modifications to built-in objects, then it SHALL throw a ReferenceError exception when evaluating such modifications.

NOTE

The rationale for not requiring support for the modification of built-in objects is to allow more efficient implementations of ES-CP based upon static compilation of built-in objects without risking that the objects are mutated or shadowed by dynamically added properties.

5 . 3 T h e w i t h S t a t e m e n t

A conforming implementation is NOT REQUIRED to support the with statement (ES3 section 12.10). If with is not supported, use of a with statement results in a syntax error.

NOTE

The with statement makes access to named references inefficient, because the scopes for such access cannot be computed until runtime.

(11)
(12)
(13)

Free printed copies can be ordered from:

ECMA

114 Rue du Rhône CH-1204 Geneva Switzerland

Fax: +41 22 849.60.01 Email: documents@ecma.ch

Files of this Standard can be freely downloaded from the ECMA web site (www.ecma.ch). This site gives full information on ECMA, ECMA activities, ECMA Standards and Technical Reports.

(14)

ECMA

114 Rue du Rhône CH-1204 Geneva Switzerland

See inside cover page for obtaining further soft or hard copies.

Riferimenti

Documenti correlati

Between lowland and highland thermal comfort, the perception consequences 29.3°C as a neutral vote for the indoor temperature Although there is climate and comfort zone

Unless otherwise specified, a newly created instance of type XML has [[Prototype]] initialized to the XML prototype object (section 13.4.4), [[Class]] initialized to the

A differenza del problema di Forward Projection, si conosce il punto di arrivo del raggio ottico pxs e si devono poter ottenere i due versori che escono dal Biprisma, uno dal

When operating in protected cultivation the amount and the spectral distribution of solar radiation (SR) inside the cultivation undergo modifications that depend

Indeed, as we empirically found both the Isolated Prisoner and Moderate strain profiles, the strain hypothesis showed that as the profile configuration worsened (highest job

It is presumable that a fine regulation of ROS-response at the mitochondrial turnover and MAVS regulome, induced by sub-micromolar doses of CAPE, may induce initially an

The overlap betwe- en the discrete model (numerical model) and the conti- nuous model (parametric model) allows the reading of the discontinuities that linked with the degradation

La sovrapposizione tra il modello discreto (il modello numerico) e il modello continuo (quello para- metrico) permette la lettura delle discontinuità che han- no a che fare con