1. 程式人生 > >整理常用的JS方法

整理常用的JS方法

1.String物件

1.1 String.prototype.charAt()

charAt方法返回指定位置的字元,引數是從0開始編號的位置

var s = new String('abc');

s.charAt(1) // "b"
s.charAt(s.length - 1) // "c"
// 也可以這樣寫:
'abc'.charAt(1) // "b"  bad
'abc'[1] // "b"   good

1.2 String.prototype.concat()

concat方法用於連線兩個字串,返回一個新字串,不改變原字串。

var one = 1;
var two = 2;
var three = '3';

''.concat(one, two, three) // "123"
one + two + three // "33"

1.3 String.prototype.slice()

1. slice方法用於從原字串取出子字串並返回,不改變原字串。它的第一個引數是子字串的開始位置,第二個引數是子字串的結束位置(不含該位置)。
2. substring()方法和slice()方法很像,只是當第二個引數小於第一個引數時,substring會自動更換兩個引數的位置

'JavaScript'.slice(0, 4) // "Java"
'JavaScript'.slice(4) // "Script"

1.4 String.prototype.match()

match方法用於確定原字串是否匹配某個子字串,返回一個數組,成員為匹配的第一個字串。如果沒有找到匹配,則返回null。

var matches = 'cat, bat, sat, fat'.match('at');  //['at']
matches.index // 1
matches.input // "cat, bat, sat, fat"

1.5 String.prototype.split()

split方法按照給定規則分割字串,返回一個由分割出來的子字串組成的陣列。
兩個分割符中間沒有其他字元,則返回陣列之中會有一個空字串。

'a||c'.split('|') // ['a', '', 'c']

2. Math物件

2.1 Math.abs(), Math.max(), Math.min()


2.2 Math.floor(), Math.ceil()

1. Math.floor方法返回小於引數值的最大整數(地板值)。
**2. Math.ceil方法返回大於引數值的最小整數(天花板值)。 **

應用舉例:返回數值整數部分的函式

function ToInteger(x) {
  x = Number(x);
  return x < 0 ? Math.ceil(x) : Math.floor(x);
}
ToInteger(3.2) // 3
ToInteger(3.5) // 3
ToInteger(-3.2) // -3

2.3 Math.round()

用於四捨五入

Math.round(0.1) // 0
Math.round(0.5) // 1
Math.round(0.6) // 1

// 等同於
Math.floor(x + 0.5)

2.4 Math.random()

Math.random()返回0到1之間的一個偽隨機數,可能等於0,但是一定小於1。
應用舉例:1. 任意範圍的隨機數生成函式

function getRandomArbitrary(min, max){
	return Math.random() * (max - min) + min
}

應用舉例:2. 任意範圍的隨機整數生成函式

function getRandomArbitrary(min, max){
	return Math.floor(Math.random() * (max - min + 1)) + min;
}

應用舉例:3. 返回隨機字元的函式

function random_str(length) {
  var ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  ALPHABET += 'abcdefghijklmnopqrstuvwxyz';
  ALPHABET += '0123456789-_';
  var str = '';
  for (var i = 0; i < length; ++i) {
    var rand = Math.floor(Math.random() * ALPHABET.length);
    str += ALPHABET.substring(rand, rand + 1);
  }
  return str;
}

random_str(6) // "NdQKOr"

3. Date物件

3.1 返回當前時間

1. Date()
2. new Date()
3. Date.now()

Date.now() // 1364026285194 當前時間距離時間零點(1970年1月1日 )的毫秒數

// 引數為時間零點開始計算的毫秒數
new Date(1378218728000)
// Tue Sep 03 2013 22:32:08 GMT+0800 (CST)

// 引數為日期字串
new Date('January 6, 2013');
// Sun Jan 06 2013 00:00:00 GMT+0800 (CST)

// 引數為多個整數,
// 代表年、月、日、小時、分鐘、秒、毫秒
new Date(2013, 0, 1, 0, 0, 0, 0)
// Tue Jan 01 2013 00:00:00 GMT+0800 (CST)

3.2 Date的相關例項方法

1. toDateString():返回日期字串
2. toTimeString():返回時間字串
3. toLocaleString():完整的本地時間。
4. toLocaleDateString():本地日期(不含小時、分和秒)。
5. toLocaleTimeString():本地時間(不含年月日)。

未完待續。。。

參考:阮一峰的JavaScript 教程