数据类型除了最基本的五种,还有引用(对象)
引用类型:把引用类型的数据赋值给变量的时候 ,并不会把数据本身赋值给变量,而是把这个数据的引用赋值给变量。所有类型都是对象,而所有的对象又都是引用。
一、String 对象
`var str ='hello';console.log(str.length);console.log(str[3]);`
伪对象:
存储的是原始类型,使用的是转化对应的数据类型。
1、charAt() 返回在指定位置的字符。
`var str = 'hello';var result = str.charAt(1);console.log(result);`
所得结果便是:e
2、charCodeAt() 返回在指定的位置的字符的 Unicode 编码。
3、concat() 连接字符串。
连接两个或多个字符串。(使用 " + " 运算符来进行字符串的连接运算通常会更简便一些。)
3、indexOf() 检索字符串。
`var str = 'hello';var result = str.indexOf('el');console.log(result);`
所得结果便是:1(它是从左往右检索,会显示第一个字符串的角标);若是出现-1(负数)说明并没有检索到。
`var str = 'hello, world';var result = str.indexOf('l',6);console.log(result);`
所得结果是10(第二个参数可以规定从哪里开始检索)
4、lastIndexOf() 从后向前搜索字符串。 (从右至左检索,其他的用法与indexOf相同)
5、match() 找到一个或多个正则表达式的匹配。
6、replace() 替换与正则表达式匹配的子串。
`var str = 'hello, world';var result = str.replace('l','0');console.log(replace);console.log(str);`
所得结果:he0lo, world;hello, world;替换后会形成一个新的,原本并不会发生变化。
7、slice() 提取字符串的片断,并在新的字符串中返回被提取的部分。
`var str = 'hello, world';var result = str.slice(3,-1);console.log(slice);`
所得结果:lo, wor(个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符)
8、toLocaleLowerCase() 把字符串转换为小写。
9、toLocaleUpperCase() 把字符串转换为大写。
二、Number 对象
`var a='123';var b=100;var result=a+b;//1.把a和b转换成相应的伪对象读取出来//2.由于+号代表的是字符串连接的操作符,此时会调用两个伪对象的toString()方法,把两个方法的返回值拼接在一起var result=a+b;console.log(result);`
所得结果:123110; 若将var result =a+b;改为var result = a-b;那所得结果便是23(原因,-只是代表了算数操作符,并没有其他的意思)
万物皆对象
Number 对象方法:
1、toFixed 把数字转换为字符串,结果的小数点后有指定位数的数字。
2、toExponential 把对象的值转换为指数计数法。
3、toPrecision 把数字格式化为指定的长度。
4、valueOf 返回一个 Number 对象的基本数字值。
三、Math 对象
1、abs(x) 返回数的绝对值。
2、max(x,y) 返回 x 和 y 中的最高值。
3、min(x,y) 返回 x 和 y 中的最低值。
4、ceil(x) 对数进行上舍入。 (向上取整)
5、floor(x) 对数进行下舍入。
6、random() 返回 0 ~ 1 之间的随机数。
四、Date 对象
setHours() 设置 Date 对象中的小时 (0 ~ 23)。
setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。
setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。
setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。
setTime() 以毫秒设置 Date 对象。