The WXS language currently supports the following data types:
number;
string;
boolean;
object;
function;
array;
date;
regexp;
number
Syntax
There are two types of numbers: integers and decimals.
var a = 10;
var PI = 3.141592653589793;
Properties
constructor: Returns the string "Number"
Methods
toString
;
toLocaleString
;
valueOf
;
toFixed
;
toExponential
;
toPrecision
。
For information on using the above methods, refer to the ES5 standard.
string
Syntax
here are two ways to write a string:
'hello world';
"hello world";
Properties
constructor
:Returns the string "String";
length
。
For explanations of properties other than constructor, refer to the ES5 standard.
Methods
toString
;
valueOf
;
charAt
;
charCodeAt
;
concat
;
indexOf
;
lastIndexOf
;
localeCompare
;
match
;
replace
;
search
;
slice
;
split
;
substring
;
toLowerCase
;
toLocaleLowerCase
;
toUpperCase
;
toLocaleUpperCase
;
trim
。
For information on using the above methods, refer to the ES5 standard.
boolean
Syntax
Boolean values can take one of two values: true or false.
Properties
constructor
:Returns the string "Boolean".
Methods
toString
;
valueOf
。
For information on using the above methods, refer to the ES5 standard.
object
Syntax
An object is a type of unordered key-value pair, which can be used in the following ways:
var o = {} // Generates a new empty object.
// Generates a new non-empty object.
o = {
'string' : 1, //The object’s key can be a string.
const_var : 2, //The object’s key can also be an identifier that conforms to the variable definition rules.
func : {}, //The object’s value can be of any type.
};
//Object property read operation
console.log(1 === o['string']);
console.log(2 === o.const_var);
//Object property write operation
o['string']++;
o['string'] += 10;
o.const_var++;
o.const_var += 10;
//Object property read operation
console.log(12 === o['string']);
console.log(13 === o.const_var);
Properties
constructor: Returns the string "Object".
console.log("Object" === {k:"1",v:"2"}.constructor)
Methods
toString: Returns the string "[object Object]".
function
Syntax
function supports the following definition methods:
//Method 1
function a (x) {
return x;
}
//Method 2
var b = function (x) {
return x;
}
function also supports the following syntax (anonymous functions, closures, etc.):
var a = function (x) {
return function () { return x;}
}
var b = a(100);
console.log( 100 === b() );
arguments
In function, you can use the arguments keyword. This keyword only has the following properties at present:
length: The number of arguments passed to the function.
[index]: Each argument passed to the function can be traversed by the index subscript.
Sample code:
var a = function(){
console.log(3 === arguments.length);
console.log(100 === arguments[0]);
console.log(200 === arguments[1]);
console.log(300 === arguments[2]);
};
a(100,200,300);
Properties
constructor: Returns the string "Function".
length: Returns the number of formal parameters of the function
Methods
toString: Returns the string "[function Function]".
Sample code:
var func = function (a,b,c) { }
console.log("Function" === func.constructor);
console.log(3 === func.length);
console.log("[function Function]" === func.toString());
array
Syntax
array supports the following definition methods:
var a = []; // Generates a new empty array.
a = [1,"2",{},function(){}]; // Generates a new non-empty array, with array elements of any type.
Properties
constructor
: Returns the string "Array";
length
。
For explanations of properties other than constructor, refer to the ES5 standard.
Methods
toString
;
concat
;
join
;
pop
;
push
;
reverse
;
shift
;
slice
;
sort
;
splice
;
unshift
;
indexOf
;
lastIndexOf
;
every
;
some
;
forEach
;
map
;
filter
;
reduce
;
reduceRight
。
For information on using the above methods, refer to the ES5 standard.
date
Syntax
Generates the getDate function required by the date object and returns a current time object.
getDate()
getDate(milliseconds)
getDate(datestring)
getDate(year, month[, date[, hours[, minutes[, seconds[, milliseconds]]]]])
Parameters
milliseconds: The number of milliseconds from 00:00:00 UTC January 1, 1970.
datestring: The date string, in the format: "month day, year hours:minutes:seconds".
Sample code:
var date = getDate(); //Returns the current time object.
date = getDate(1500000000000);
// Fri Jul 14 2017 10:40:00 GMT+0800 (China Standard Time)
date = getDate('2017-7-14');
// Fri Jul 14 2017 00:00:00 GMT+0800 (China Standard Time)
date = getDate(2017, 6, 14, 10, 40, 0, 0);
// Fri Jul 14 2017 10:40:00 GMT+0800 (China Standard Time)
Properties
constructor: Returns the string "Date".
Methods
toString
;
toDateString
;
toTimeString
;
toLocaleString
;
toLocaleDateString
;
toLocaleTimeString
;
valueOf
;
getTime
;
getFullYear
;
getUTCFullYear
;
getMonth
;
getUTCMonth
;
getDate
;
getUTCDate
;
getDay
;
getUTCDay
;
getHours
;
getUTCHours
;
getMinutes
;
getUTCMinutes
;
getSeconds
;
getUTCSeconds
;
getMilliseconds
;
getUTCMilliseconds
;
getTimezoneOffset
;
setTime
;
setMilliseconds
;
setUTCMilliseconds
;
setSeconds
;
setUTCSeconds
;
setMinutes
;
setUTCMinutes
;
setHours
;
setUTCHours
;
setDate
;
setUTCDate
;
setMonth
;
setUTCMonth
;
setFullYear
;
setUTCFullYear
;
toUTCString
;
toISOString
;
toJSON
。
For information on using the above methods, refer to the ES5 standard.
regexp
Syntax
Generates the getRegExp function to be used by the regexp object.
getRegExp(pattern[, flags])
Parameters:
pattern: The content of the regular expression.
flags: The modifiers. This field can only include the following characters:
g: global
i: ignoreCase
m: multiline
Sample code:
var a = getRegExp("x", "img");
console.log("x" === a.source);
console.log(true === a.global);
console.log(true === a.ignoreCase);
console.log(true === a.multiline);
Properties
constructor
:Returns the string "RegExp"
;
source
;
global
;
ignoreCase
;
multiline
;
lastIndex
。
For explanations of properties other than constructor, refer to the ES5 standard.
Methods
exec
;
test
;
toString
。
For information on using the above methods, refer to the ES5 standard.
Data Type Determination
constructor Property
You can use the constructor property to determine the data type.
Sample code:
var number = 10;
console.log( "Number" === number.constructor );
var string = "str";
console.log( "String" === string.constructor );
var boolean = true;
console.log( "Boolean" === boolean.constructor );
var object = {};
console.log( "Object" === object.constructor );
var func = function(){};
console.log( "Function" === func.constructor );
var array = [];
console.log( "Array" === array.constructor );
var date = getDate();
console.log( "Date" === date.constructor );
var regexp = getRegExp();
console.log( "RegExp" === regexp.constructor );
typeof
You can also use typeof to distinguish certain data types.
Sample code:
var number = 10;
var boolean = true;
var object = {};
var func = function(){};
var array = [];
var date = getDate();
var regexp = getRegExp();
console.log( 'number' === typeof number );
console.log( 'boolean' === typeof boolean );
console.log( 'object' === typeof object );
console.log( 'function' === typeof func );
console.log( 'object' === typeof array );
console.log( 'object' === typeof date );
console.log( 'object' === typeof regexp );
console.log( 'undefined' === typeof undefined );
console.log( 'object' === typeof null );