JS 字符串&Math&Date

字符串

字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。

'abc'
"abc"   //使用单引号或双引号都可以,但是风格要统一
"ab'c"  //双引号里用单引号
'ab"c'  //单引号里用双引号

1)转义

反斜杠(\)在字符串内有特殊含义,用来表示一些特殊字符。

用单引号标记的字符串,里面想用单引号

'ab\'c'  //  "ab'c"
'ab\'c'.length  //4  反斜杠不会被算进长度

2)多行

反斜杠(\)还可以用来多行书写,但是输出的结果依然是单行。

var str = 'a\
  b\
  c\
  d'

str   // "abcd"

注意,反斜杠后面不能不能有其他字符,只能是换行。

接运算符(+)也可以连接多个单行字符串,输出仍是单行

var str = 'a'
  +'b'
  +'c'
  +'d';

str // "abcd"

es6字符串的换行

var str = `hello   //键盘1旁边的 ` 键
world
ojk`

str
//"hello
//world
//ojk"

常见字符串方法

1)长度计算

vat str = 'hello'
str.length  //5    获取字符串长度
str[0]  // "h"     获取下标为0的字符
str.charAt(2)   //  "l"     返回下标为2的字符
str.charCodeAt(2)  //  108   返回下标为2的Unicode码点

2)字符串拼接

var str1 = 'Hello';
var str2 = 'World';
var str3 = str1 + str2

str3   //  "HelloWorld"

var color = 'red';
var str = '喜欢的颜色+${color};   //es6的语法

3)字符串截取

var str = 'Hello World';
str.slice(1,3)  //  截取下标为1至下标为3的字符
str.substr(1,3)   // 截取下标为1开始长度为3的字符
str.substring(1,3)  // 截取下标为1开始长度为3的字符(不包含结束位置)

4)查找

var str = 'Hello my World';
str.search('my')  //6  返回匹配值的第一个位置,没有则返回-1
str.replace('my','your')  // "Hello your World"  查找'my'字符,并替换为第二个参数
str.match('my')  // ["my"]  查找'my'字符,并将它作为数组返回

5)大小写

'hello world'.toUpperCase  // "HELLO WORLD"
'HELLO WORLD'.toLowerCase()  // "hello world"

6)字符串转换成数组

'abc'.split()  //  ["abc"]

var a = 'a-b-c'.split("-")  //  按照给的参数分割字符串
a  //  ["a", "b", "c"]

Math对象

Math是 JavaScript 的原生对象,提供各种数学功能。该对象不是构造函数,不能生成实例,所有的属性和方法都必须在Math对象上调用。

Math.E // 2.718281828459045
Math.LN2 // 0.6931471805599453
Math.LN10 // 2.302585092994046
Math.LOG2E // 1.4426950408889634
Math.LOG10E // 0.4342944819032518
Math.PI // 3.141592653589793
Math.SQRT1_2 // 0.7071067811865476
Math.SQRT2 // 1.4142135623730951

这些属性都是只读的,不能修改。

常用方法:

round()

用于四舍五入

Math.round(5.89)  // 6
Math.round(-2.7)  //-3

abs、max、min

abs()求绝对值

Math.abs(5)  // 5
Math.abs(-7)  //7

max()方法返回最大的参数,min()方法返回最小的参数

Math.max(5,3,20,8)  // 20
Math.min(5,3,20,8)  // 3

floor、ceil

floor方法返回小于参数的最大整数

Math.floor(3.2890)  // 3
Math.floor(-3.2890)  // -4

ceil方法返回大于参数的最小整数

Math.ceil(5.7)  // 6
Math.ceil(-3.2)  // -3

pow、sqrt

Math.pow方法返回以第一个参数为底数、第二个参数为幂的指数值。

Math.pow(2,2)  // 4  2的2次方
Math.pow(3,3)  // 27  3的3次方

Math.sqrt方法返回参数值的平方根。如果参数是一个负值,则返回NaN

Math.sqrt(4) // 2
Math.sqrt(-4) // NaN

random

Math.random()返回0到1之间的一个伪随机数,可能等于0,但是一定小于1。

Math.floor(Math.random()*10)  // 随机生成一个0~10之间的随机数

random的应用

从英文字母里随机生成一个32位的字符

function randomStr(len){
  var str = '';
  var dict = 'abcdefghijklmnopqrstuvwxyz';
  for(var i = 0;i < len; i++){
    var index = Math.floor(Math.random()*dict.length);
    str += dict[index]
  }
  return str
}

var str = randomStr(32)
console.log(str)

随机生成一个IP地址

function getrandIP(){
  function randIP(){
    return Math.floor(Math.random()*256);
  }
  return randIP() + '.' +randIP() + '.' +randIP() + '.' +randIP()
}

var ip = getrandIP()
console.log(ip)

Date对象

猜你喜欢

转载自www.cnblogs.com/ianyanyzx/p/9649253.html