26字符串的对象 内置对象Math
一、字符串的对象概念
字符串就是一串字符,由引号括起来,字符串是JavaScript的一种基本的数据类型,字符串不能进行算术运算,只能进行“连接”运算
JS中的任何数据类型都可以当做对象来看,所以string既是基本数据类型,又是引用数据类型
二、字符串的创建
- 直接使用字符串字面量去创建
var str1 = "abcde"
console.log(typeof str1) //string
- 通过new创建字符串对象,通过new创建的都为object类型
var str2 = new String("abcde")
console.log(typeof str2) //object
- 省略new,这种方法创建的不是object类型,而是string类型
var str3 = String("abcde") //包装类
console.log(typeof str1) //string
三、字符串的属性和方法
字符串在正常情况下是string,当使用object的属性和方法时会暂时转为object
- length 获取字符串的长度
- toLowerCase() 把字符串中的字母转为全小写
- toUpperCase() 把字符串中的字母转为全大写
- charAt(index) 返回指定位置下标位置的一个字符,如果没有找到,
则返回空字符串,参数是下标,与str[index]效果一致,但是charAt(index)
在低版本IE浏览器中能正常使用,而str[index]在低版本IE浏览器中会输出
undefined
- indexOf() 返回一个字符串在原始字符串中的索引值(查找顺序从左往右查找),
如果没有找到,泽返回-1,可以用于在表单用户填写地址时是否有“@”符号
- lastIndexOf() 在原始字符串中,从右往左查找,如果没有找到,泽返回-1
- substring() 在原字符串,返回一个字符串,不取结束位置,不能给负值,
会转成0,参数是下标
- split() 将一个字符串切割成若干段,返回一个数组,也就是说将一个字符串
转成数组,括号里面可以给空字符串,会把字符串切割成几份
- slice() 提取字符串的片段,并在新的字符串中返回被提取的部分,不包括
结束位置,给负值时,可以返回倒数几个
- trim() 移除字符串首位空白
- concat() 链接两个或多个字符串,返回链接后的字符串
- replace() 替换与正则表达式匹配的子串,可以用于敏感词的替换
- substr() 从起始索引号提取字符串中指定数目的字符,参数1表示起始位置,
参数2表示截取的项数
举例
var str = "今天天气真不错!"
console.log(str.length) //8
var str1 = "hello world"
var str2 = "HELLO WORLD"
console.log(str1.toUpperCase()) //HELLO WORLD
console.log(str2.toLowerCase()) //hello world
//IE低版本浏览器中
console.log(str.charAt(0)) //今
console.log(str[0]) //undefined
console.log(str.indexOf("是")) //-1
console.log(str.indexOf("天")) //1
console.log(str.lastIndexOf("天")) //2
console.log(str.substring(1,3)) //天天
console.log(str.split("")) //["今", "天", "天", "气",
"真", "不", "错"]
console.log(str.split("真")) //["今天天气", "不错"]
console.log(str.slice(1,3)) //天天
console.log(str.slice(0,-1)) //今天天气真不错
var str3 = " hello world "
console.log(str3.trim()) //hello world
consloe.log(str1.concat(str2)) //"hello worldHELLO WORLD"
console.log(str.replace(/天/g,"*")) //今**气真不错!
console.log(str.replace(/[天不]/g,"*")) //今**气真*错!
console.log(str.substr(1,3)) //天天气
四、内置对象Math
Math数学对象
Math对象是一个静态对象,换句话说,在使用Math对象,不需要创建实例
- Math.PI 圆周率
- Math.abs() 绝对值
- Math.ceil() 向上取整
- Math.floor() 向下取整
- Math.round() 四舍五入
- Math.pow() 求x的y次方
- Math.sqrt() 求平方根
- Math.random() 返回一个0-1之间的随机小数
定时器
- setInterval()
设置一个定时器,重复不断周期性的执行JS代码
- clearInterval()
清除延时器id变量