新聞中心
- 數(shù)據(jù)類型
- Number
- 屬性
- 方法
- string
- 屬性
- 方法
- boolean
- object
- function
- array
- date
- regexp
- 數(shù)據(jù)類型判斷
數(shù)據(jù)類型
SJS語(yǔ)言目前共有以下幾種數(shù)據(jù)類型:

- number : 數(shù)值
- boolean:布爾值
- string :字符串
- object:對(duì)象
- function:函數(shù)
- array : 數(shù)組
- date:日期
- regexp:正則
Number
語(yǔ)法
number 包括兩種數(shù)值:整數(shù),小數(shù)。
let a = 10;const PI = 3.141592653589793;
屬性
- constructor:返回字符串 “Number”。
方法
- toString
- toLocaleString
- valueOf
- toFixed
- toExponential
- toPrecision
注:以上方法的具體使用請(qǐng)參考 ES5 標(biāo)準(zhǔn)。
string
語(yǔ)法
string 有兩種寫法:
'hello world';"hello world";
屬性
- constructor:返回字符串 “String”。
- length
注:除 constructor 外屬性的具體含義請(qǐng)參考 ES5 標(biāo)準(zhǔn)。
方法
- toString
- valueOf
- charAt
- charCodeAt
- concat
- indexOf
- lastIndexOf
- localeCompare
- match
- replace
- search
- slice
- split
- substring
- toLowerCase
- toLocaleLowerCase
- toUpperCase
- toLocaleUpperCase
- trim
以上方法的具體使用請(qǐng)參考 ES5 標(biāo)準(zhǔn)。
boolean
語(yǔ)法
布爾值只有兩個(gè)特定的值:true 和 false。
屬性
- constructor:返回字符串 “Boolean”。
方法
- toString
- valueOf
以上方法的具體使用請(qǐng)參考 ES5 標(biāo)準(zhǔn)。
object
語(yǔ)法
object 是一種無(wú)序的鍵值對(duì)。使用方法如下所示:
代碼示例
//生成一個(gè)新的空對(duì)象var o = {}//生成一個(gè)新的非空對(duì)象o = {//object 的 key 可以是字符串'string': 1,//object 的 key 也可以是符合變量定義規(guī)則的標(biāo)識(shí)符const_var: 2,//object 的 value 可以是任何類型func: {},};//對(duì)象屬性的讀操作console.log(1 === o['string']);console.log(2 === o.const_var);//對(duì)象屬性的寫操作o['string']++;o['string'] += 10;o.const_var++;o.const_var += 10;//對(duì)象屬性的讀操作console.log(12 === o['string']);console.log(13 === o.const_var);
屬性
- constructor:返回字符串 “Object”。
代碼示例
console.log("Object" === {k: "1",v: "2"}.constructor)
方法
- toString:返回字符串 “[object Object]“。
function
語(yǔ)法
function 支持以下的定義方式:
代碼示例
//方法 1function a (x) {return x;}//方法 2var b = function (x) {return x;}
function 同時(shí)也支持以下的語(yǔ)法(匿名函數(shù),閉包等):
var a = function (x) {return function () { return x;}}var b = a(100);console.log( 100 === b() );
arguments
function 里面可以使用 arguments 關(guān)鍵詞。該關(guān)鍵詞目前只支持以下的屬性:
- length: 傳遞給函數(shù)的參數(shù)個(gè)數(shù)。
- [index]: 通過(guò) index 下標(biāo)可以遍歷傳遞給函數(shù)的每個(gè)參數(shù)。
代碼示例
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);
屬性
- constructor:返回字符串 “Function”。
- length:返回函數(shù)的形參個(gè)數(shù)。
方法
- toString:返回字符串 “[function Function]“。
代碼示例
var func = function (a, b, c) { }console.log('Function' === func.constructor);console.log(3 === func.length);console.log('[function Function]' === func.toString());
array
語(yǔ)法
array 支持以下的定義方式:
//生成一個(gè)新的空數(shù)組var a = [];//生成一個(gè)新的非空數(shù)組,數(shù)組元素可以是任何類型a = [1, '2', {}, function() {}];
屬性
- constructor:返回字符串 “Array”。
- length
除 constructor 外屬性的具體含義請(qǐng)參考 ES5 標(biāo)準(zhǔn)。
方法
- toString
- concat
- join
- pop
- push
- reverse
- shift
- slice
- sort
- splice
- unshift
- indexOf
- lastIndexOf
- every
- some
- forEach
- map
- filter
- reduce
- reduceRight
以上方法的具體使用請(qǐng)參考 ES5 標(biāo)準(zhǔn)。
date
語(yǔ)法
生成 date 對(duì)象需要使用 getDate 函數(shù), 返回一個(gè)當(dāng)前時(shí)間的對(duì)象。
getDate()getDate(milliseconds)getDate(datestring)getDate(year, month[, date[, hours[, minutes[, seconds[, milliseconds]]]]])
參數(shù)
- milliseconds: 從 1970 年 1 月 1 日 00:00:00 UTC 開(kāi)始計(jì)算的毫秒數(shù)
- datestring: 日期字符串,其格式為:”month day, year hours:minutes:seconds”
代碼示例
//返回當(dāng)前時(shí)間對(duì)象var date = getDate();date = getDate(1500000000000);// Fri Jul 14 2017 10:40:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)date = getDate('2017-7-14');// Fri Jul 14 2017 00:00:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)date = getDate(2017, 6, 14, 10, 40, 0, 0);// Fri Jul 14 2017 10:40:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)
屬性
- constructor:返回字符串 “Date”。
方法
- 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
以上方法的具體使用請(qǐng)參考 ES5 標(biāo)準(zhǔn)。
regexp
語(yǔ)法
生成 regexp 對(duì)象需要使用 getRegExp 函數(shù)。
getRegExp(pattern[, flags])
參數(shù):
- pattern: 正則表達(dá)式的內(nèi)容。
- flags:修飾符。該字段只能包含以下字符:
- g: global
- i: ignoreCase
- m: multiline。
代碼示例
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);
屬性
- constructor:返回字符串 “RegExp”。
- source
- global
- ignoreCase
- multiline
- lastIndex
除 constructor 外屬性的具體含義請(qǐng)參考 ES5 標(biāo)準(zhǔn)。
方法
- exec
- test
- toString
以上方法的具體使用請(qǐng)參考 ES5 標(biāo)準(zhǔn)。
數(shù)據(jù)類型判斷
在 SJS 中可以使用 constructor 與 typeof 兩種方式判斷數(shù)據(jù)類型。
constructor 屬性
代碼示例
在開(kāi)發(fā)者工具中打開(kāi)
在開(kāi)發(fā)者工具中打開(kāi)
在 WEB IDE 中打開(kāi)
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
代碼示例
在開(kāi)發(fā)者工具中打開(kāi)
在開(kāi)發(fā)者工具中打開(kāi)
在 WEB IDE 中打開(kāi)
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);
文章名稱:創(chuàng)新互聯(lián)百度小程序教程:數(shù)據(jù)類型
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/dpgcjog.html


咨詢
建站咨詢
