Script: Class Top Level global

Class global

The global object is a pre-defined object that serves as a placeholder for the global properties and functions of JavaScript. All other predefined objects, functions, and properties are accessible through the global object.

Constants

Infinity : Number

representation for Infinity as an Integer

NaN : Number

representation for Not a Number as an Integer

PIPELET_ERROR : Number

represents an error during pipelet execution

PIPELET_NEXT : Number

represents the next pipelet to fire

slotcontent : Object

Provides access to the SlotContent object. Available only in ISML templates that are defined as the Slot's template. For example, <isprint value="${slotcontent.callout}"> will print out the callout message of the active Slot.

See Also:

SlotContent

undefined : Object

representation for undefined

webreferences2 : Object

Provides access to WSDL definition files in a Cartridge's webreferences2 folder. For example, webreferences2.mywebservice loads the mywebservice.wsdl file and returns an instance of dw.ws.WebReference2. The WebReference2 instance enables you to access the actual web service via the WebReference2.getDefaultService() method.

See Also:

WebReference2

Properties

static customer : Customer

The current customer or null if this request is not associated with any customer.

static exports : Object

References the module.exports property of the current module. Available only in scripts that were loaded as CommonJS module using the require(String) function.

static globalThis : Object

Provides access to the global scope object containing all built-in functions and classes.

static module : Module

An object representing the current module. Available only in scripts that were loaded as CommonJS module using the require(String) function.

static request : Request

The current request.

static response : Response

The current response.

static session : Session

The current session.

Constructor Summary

This class does not have a constructor, so you cannot create it directly.

Method Summary

static decodeURI(uri : String) : String

Unescapes characters in a URI component.

static decodeURIComponent(uriComponent : String) : String

Unescapes characters in a URI component.

static empty(obj : Object) : boolean

The method tests, whether the given object is empty.

static encodeURI(uri : String) : String

Escapes characters in a URI.

static encodeURIComponent(uriComponent : String) : String

Escapes characters in a URI component.

static escape(s : String) : String

Encodes a String.

static eval(code : String) : Object

Execute JavaScript code from a String.

static importClass(classPath : Object) : void

Import the specified class and make it available at the top level.

static importPackage(packagePath : Object) : void

Import all the classes in the specified package available at the top level.

static importScript(scriptPath : String) : void

Imports all functions from the specified script.

static isFinite(number : Number) : boolean

Returns true if the specified Number is finite.

static isNaN(object : Object) : boolean

Test the specified value to determine if it is not a Number.

static isXMLName(name : String) : boolean

Determines whether the specified string is a valid name for an XML element or attribute.

static parseFloat(s : String) : Number

Parses a String into an float Number.

static parseInt(s : String, radix : Number) : Number

Parses a String into an integer Number using the specified radix.

static parseInt(s : String) : Number

Parses a String into an integer Number.
This function is a short form for the call to parseInt(String, Number) with automatic determination of the radix.

static parseInt(s : String) : Number

Parses a String into an integer Number.

static require(path : String) : Module

The require() function supports loading of modules in JavaScript.

static trace(msg : String, params : Object...) : void

Formats and prints the message using the specified params and returns the formatted message.

static unescape(string : String) : String

Decode an escaped String.

Methods inherited from class Object

assign, create, create, defineProperties, defineProperty, entries, freeze, fromEntries, getOwnPropertyDescriptor, getOwnPropertyNames, getOwnPropertySymbols, getPrototypeOf, hasOwnProperty, is, isExtensible, isFrozen, isPrototypeOf, isSealed, keys, preventExtensions, propertyIsEnumerable, seal, setPrototypeOf, toLocaleString, toString, valueOf, values

Method Detail

decodeURI

static decodeURI(uri : String) : String

Unescapes characters in a URI component.

Parameters:

uri - a string that contains an encoded URI or other text to be decoded.

Returns:

A copy of uri with any hexadecimal escape sequences replaced with the characters they represent

decodeURIComponent

static decodeURIComponent(uriComponent : String) : String

Unescapes characters in a URI component.

Parameters:

uriComponent - a string that contains an encoded URI component or other text to be decoded.

Returns:

A copy of uriComponent with any hexadecimal escape sequences replaced with the characters they represent


empty

static empty(obj : Object) : boolean

The method tests, whether the given object is empty. The interpretation of empty is the following. - null is always empty - undefined is always empty - a string with zero length is empty - an array with no elements is empty - a collection with no elements is empty

Parameters:

obj - the object to be thested

Returns:

true if the object is interpreted as being empty


encodeURI

static encodeURI(uri : String) : String

Escapes characters in a URI.

Parameters:

uri - a String that contains the URI or other text to be encoded.

Returns:

a copy of uri with certain characters replaced by hexadecimal escape sequences.


encodeURIComponent

static encodeURIComponent(uriComponent : String) : String

Escapes characters in a URI component.

Parameters:

uriComponent - a String that contains a portion of a URI or other text to be encoded.

Returns:

a copy of uriComponent with certain characters replaced by hexadecimal escape sequences.


escape

static escape(s : String) : String

Encodes a String.

Parameters:

s - the String to be encoded.

Returns:

a copy of s where characters have been replace by hexadecimal escape sequences.


eval

static eval(code : String) : Object

Execute JavaScript code from a String.

Deprecated:

The eval() function is deprecated, because it's potential security risk for server side code injection.

Parameters:

code - a String that contains the JavaScript expression to be evaluated or the statements to be executed.

Returns:

the value of the executed call or null.


importClass

static importClass(classPath : Object) : void

Import the specified class and make it available at the top level. It's equivalent in effect to the Java import declaration.

Parameters:

classPath - the fully qualified class path.


importPackage

static importPackage(packagePath : Object) : void

Import all the classes in the specified package available at the top level. It's equivalent in effect to the Java import declaration.

Parameters:

packagePath - the fully qualified package path.


importScript

static importScript(scriptPath : String) : void

Imports all functions from the specified script. Variables are not imported from the script and must be accessed through helper functions. The script path has the following syntax: [cartridgename:]scriptname, where cartridgename identifies a cartridge where the script file is located. If cartridgename is omitted the script file is loaded from the same cartridge in which the importing component is located. Examples: importScript( 'example.ds' ) imports the script file example.ds from the same cartridge importScript( 'abc:example.ds' ) imports the script file example.ds from the cartridge 'abc'

Parameters:

scriptPath - the path to the script.


isFinite

static isFinite(number : Number) : boolean

Returns true if the specified Number is finite.

Parameters:

number - the Number to test.

Returns:

true if the specified Number is finite, false otherwise.


isNaN

static isNaN(object : Object) : boolean

Test the specified value to determine if it is not a Number.

Parameters:

object - the Object to be tested as a number

Returns:

True if the object is not a number


isXMLName

static isXMLName(name : String) : boolean

Determines whether the specified string is a valid name for an XML element or attribute.

Parameters:

name - the String specified

Returns:

True if the string is a valid name


parseFloat

static parseFloat(s : String) : Number

Parses a String into an float Number.

Parameters:

s - the String to parse.

Returns:

Returns the float as a Number.


parseInt

static parseInt(s : String, radix : Number) : Number

Parses a String into an integer Number using the specified radix.

Parameters:

s - the String to parse.

radix - the radix to use.

Returns:

Returns the integer as a Number.


parseInt

static parseInt(s : String) : Number

Parses a String into an integer Number.
This function is a short form for the call to parseInt(String, Number) with automatic determination of the radix. If the string starts with "0x" or "0X" then the radix is 16. If the string starts with "0" the the radix is 8. In all other cases the radix is 10.

API Versioned:

No longer available as of version 16.1.

Parameters:

s - the String to parse.

Returns:

Returns the integer as a Number.


parseInt

static parseInt(s : String) : Number

Parses a String into an integer Number. This function is a short form for the call to parseInt(String, Number) with automatic determination of the radix. If the string starts with "0x" or "0X" then the radix is 16. In all other cases the radix is 10.

API Versioned:

From version 16.1. ECMAScript 5 compliance: removed support for octal numbers.

Parameters:

s - the String to parse.

Returns:

Returns the integer as a Number.


require

static require(path : String) : Module

The require() function supports loading of modules in JavaScript. The function works similar to the require() function in CommonJS. The general module loading works the same way, but the exact path lookup is slightly different and better fits into Demandware concepts. Here are the details for the lookup:

  • If the module name starts with "./" or "../" then load it relative to the current module. The module can be a file or a directory. A file extension is acknowledged, but not required. If it's a directory a 'package.json' or a 'main' file is expected. If the 'package.json' does not contain a main entry, then default to main file in the directory. Access to parent files can't go beyond the cartridges directory. Access to other cartridges is explicitly allowed.
  • If the module name starts with "~/" it's a path relative to the current cartridge.
  • If the module name starts with "*/" try to find the module in all cartridges that are assigned to the current site.
  • A module with the name "dw" or which starts with "dw/" references Demandware built-in functions and classes. For example var u = require( 'dw/util' ); loads the classes in the util package, which can be then used like var h = new u.HashMap();
  • A module, which doesn't start with "./" or "../" is resolved as top level module.
    • The module name is used to find a folder in the top cartridge directory, typically a cartridge itself, but it can also be a simple folder.
    • If nothing is found, the module name is used to look into a special folder called "modules" in the top cartridge directory. That folder can be used by a developer to manage different modules. For example a developer could drop a module like "less.js" just into that folder.

If the require function is used to reference a file then an optional file extension is used to determine the content of the file. Currently supported are the extensions ordered by priority:

  • js - JavaScript file
  • ds - Demandware Script file
  • json - JSON file

Parameters:

path - the path to the JavaScript module.

Returns:

an object with the exported functions and properties.


trace

static trace(msg : String, params : Object...) : void

Formats and prints the message using the specified params and returns the formatted message. The format message is a Java MessageFormat expression. Printing happens in the script log output.

Parameters:

msg - the message to format.

params - one, or multiple parameters that are used to format the message.


unescape

static unescape(string : String) : String

Decode an escaped String.

Parameters:

string - the String to decode.

Returns:

a copy of the String where hexadecimal character sequences are replace by Unicode characters.