字符串
字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。
'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对象