JS对象
js对象的形式类似python的字典,创建js对象的两种方式
1.直接创建对象实例,例如
person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"}
2.使用函数来构造对象,然后通过new创建实例,例如
function person(firstname,lastname,age,eyecolor) { this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; }
实例化person1=new person('Sally','Rally',48,'green')
获取对象的属性:通过.或者['']获取,即person.firstname或者person['firstname']
给对象添加属性:person.hobby='tennis'
给对象添加方法:person.name=function(){return this.firstname+' '+this.lastname}
1.number数字对象
js只有一种数据类型,即number,js使用64位浮点格式表示数字
var x=12,var y=new Number(12),typeof x为number,typeof y为object
整数(不使用小数点或指数计数法)最多为15位,小数的最大位数是 17但是小数运算并不总是100%准确
前缀为数字0表示八进制数,前缀为0x表示十六进制数
当数字运算结果超过了所能表示的数字上限,结果为一个特殊的无穷大值,用infinity或-infinity表示
NaN表示非数字值,可通过isNaN(x)判断x是不是数字,是则返回false,不是则返回false
2.string字符串对象
使用单引号或双引号表示,也可以在单引号内嵌套双引号或者在双引号内嵌套单引号,如果要在单引号内嵌套单引号或者在双引号内嵌套双引号则需要使用转义字符\
定义字符串str='niceday',可通过索引访问字符串的每个元素,如s[4]='c'
length属性,表示字符串长度,例如s.length=7
indexOf('s'),定位字符串中指定字符首次出现的索引位置,未找到返回-1,例如str.indexOf('c')=2,lastIndexOf('s')匹配最后一个的索引位置
match('s'),查找字符串中指定字符串,找到返回这个字符串,否则返回null,例如str.match('nice')='nice'
str.substr(m,n):从索引m开始取,一共取n个
str.substring(m,n):从索引m开始取,取到索引n-1
str.slice(m,n):从索引m开始取,取到索引n-1,同str.substring(m,n)
replace('s1','s2') ,在字符串中将s1替换为s2,例如str.replace('nice','bad'),替换后str为badday
toUpperCase()、toLowerCase(),将字符串转为大写、小写,例如str.toUpperCase(),转换后为BADDAY
split(‘s’),将字符串转为数组,参数s表示将字符串按照s进行分隔为数组元素,例如txt=‘nice to meet you’,则txt.split(' ')的结果为['nice','to','meet','you']
3.data日期对象
var d=new date(),获取到的结果为Sat Jan 19 2019 18:07:35 GMT+0800 (中国标准时间)
d.getTime(),从1970年1月1日至今的毫秒数
d.getFullYear(),获取年份
d.getMonth(),获取0-11的月份
d.getDate(),获取1-31的月中的某一天
d.getHours(),返回0-23的小时数
d.getMinutes(),返回0-59的分钟数
d.getSeconds(),返回0-59的秒数
d.getDay(),返回一周中的第几天
将上述get换为set后表示设置时间
d.toString()、d.toLocaleString()、d.toUTCString(),根据标准时间格式、本地时间格式、世界时间格式,将date对象转换为字符串
d.toDateString()、d.toLocaleDateString(),根据标准时间格式、本地时间格式将date对象的日期部分转换为字符串
d.toTimeString()、d.toLocaleTimeString(),根据标准时间格式、本地时间格式将date对象的时间部分转换为字符串
标准时间格式:Sun Jan 20 2019 14:19:32 GMT+0800 (中国标准时间)
本地时间格式:2019/1/20 下午2:19:32
世界时间格式:Sun, 20 Jan 2019 06:19:32 GMT
4.array数组对象,数组中的元素的类型可以不同,元素可以相同
创建数组var animal=['cat','monkey','dog','mouse']或者var animal = new Array('cat','monkey','dog','mouse')
通过索引访问数组元素,[0]表示数组的第一个的元素
通过indexOf('s')返回s元素对应的索引,例如animal.indexOf('monkey')=1
求数组的长度,animal.length
对于使用for循环,for (var a in animal),遍历的是数组的下标,而不是数组的元素。
concat(),将数组中的元素合并为一个数组,array1.concat(array2,array3,array4...)
join('*'),将数组的每个元素通过指定字符组合成字符串,例如animal.join(*)返回结果为'cat*monkey*dog*mouse',默认以逗号进行组合
pop(),删除数组最后一个元素,例如var p=animal.pop()获取删除的元素,结果为['cat','monkey','dog']
shift(),删除数组第一个元素,例如s=animal.pop(),结果为['monkey','dog']
push('s'),在数组末尾添加一个元素s,例如animal.push('snake'),增加后为['monkey','dog','snake']
unshift('s'),在数组开头添加一个元素s,例如animal.unshift(''bird),增加后为['bird','monkey','dog','snake']
reverse(),将数组反转,即元素的位置反转,例如animal.reverse(),反转后为['snake','dog','monkey','bird']
slice(m,n),获取元素索引为m至n-1的部分,例如animal.slice(1,3),结果为['dog','monkey']
splice(m,n),从索引m开始,删除n个元素
sort(),如果元素都为数字或字符串,按照字母升序或数字由小到大排序,先比较第一位再比较第二位,既有数字又有字母无法排序,例如animal.sort(),结果为['bird','dog','monkey','snake']
5.math算数对象
Math.round(n),对数字n四舍五入取整
Math.ceil(n),对数字n向上取整
Math.floor(n),对数字n向下取整
Math.random(),生成0-1之间的随机数
Math.max(a,b,c,d...),返回给定数字中的最大值
Math.max(a,b,c,d...),返回给定数字中的最小值
Math.power(a,b),返回a的b次幂
Math.sqrt(a),返回a的平方根
Math.abs(n),返回n的绝对值
Math.sin(a)、Math.cos(a)、Math.tan(a)、Math.asin(a)、Math.acos(a)、Math.atan(a),返回a的正弦、余弦、正切、反正弦、反余弦、反正切
Math.PI,返回圆周率π
Math.E,返回常量e
6.RegExp正则表达式对象