一、对象的介绍
1.1.对象是什么
对象是一种复杂数据类型。(复杂数据类型的内容存储在堆内存中,地址存储在栈内存中)
1.2.对象作用
以键值对的形式存储多个数据。
1.3对象与简单数据类型和数组的区别
// 1.使用简单数据类型
let name="张三";
let age= 18;
let sex="男";
// (好处:阅读性高,弊端:冗余)
// 2.数组
let people = ["张三",30,"男"]
// (好处:一个变量储存多个数据,弊端:阅读性不高)
// 3.对象
let obj = {
name : "张三",
age : 18,
sex : "男"
}
// 对象查询
console.log(obj); //{name:张三 age:18 sex:男}
console.log(obj.name); //张三
console.log(obj.age); //18
console.log(obj.sex); //男
console.log(obj.sayHi); //111111
console.log(obj.sayHi());
// 对象新增
obj.bf="李四"
console.log(obj);
// 对象修改
obj.bf="王五"
console.log(obj);
// 对于对象的属性,如果没有这个属性,则是新增,如果有这个属性,则是修改。
// 对象删除
delete obj.age;
console.log(obj);
// 对象遍历
// 遍历数组:for(let i=0;i<arr.length;i++){}
// 遍历对象:for-in循环:for(let key in 对象名){对象名[key]}
let score = {
math:99,
history:80,
ehglish:60
}
for(let key in score){
console.log(key); //打印属性名
console.log(score[key]); //打印属性值
}
二、Math对象
2.1.内置对象:
由JavaScript作者提前编写好的对象,里面储存了一些属性方法,直接使用即可。
如:Math对象、Date日期对象
2.2.Math对象:
2.2.1:Math.PI:
// a.圆周率:Math.PI
console.log(Math.PI);
const c = 2*Math.PI*r
console.log(c); //31.41592653589793
2.2.2.Math.abs()
// b.绝对值:Math.abs()
console.log(Math.abs(-3)); //3
2.2.3.Math.max()/Math.min()
// c.找最大/最小值:Math.max()/Math.min()
console.log(Math.max(1,2,3,4,5,6,7,8,9)); //9
console.log(Math.min(1,2,3,4,5,6,7,8,9)); //1
2.2.4.Math.pow(x,y)
// d.幂运算:Math.pow(x,y) 求x的y次方
console.log(Math.pow(2,10)); //1024
2.2.5.Math.roud()
// e.四舍五入:Math.roud()
console.log(Math.round(3.5)); //4
console.log(Math.round(3.2)); //3
console.log(Math.round(-3.5)); //-3
console.log(Math.round(-3.6)); //-4
2.2.6.Math.ceil()/Math.floor()
// f.向上取整:Math.ceil()
console.log(Math.ceil(3.1)); //4
// g.向下取整:Math.floor()
console.log(Math.floor(4.8)); //4
2.2.7.Math.random()
// h.生成一个0-1之间的随机小数 Math.random()
console.log(Math.random());
三、Date对象
3.1.时间戳
时间戳:从1970年1月1日零时零分零秒开始,到现在的毫秒数
// 以下三种写法都会得到时间戳
console.log(Date.now());
console.log(+new Date);
console.log(new Date().getTime());
3.1.Date对象
3.1.1.获取时间
// 获取年份
console.log(new Date().getFullYear());
// 获取月份,从零开始到十一
console.log(new Date().getMonth()); //范围是0-11
// 获取日期
console.log(new Date().getDate()); //范围1-31
// 获取星期
console.log(new Date().getDay()); //范围0-6,周日是0
// 获取小时
console.log(new Date().getHours());
// 获取分时
console.log(new Date().getMinutes());
3.1.2.设置时间
// 获取内置Date对象
var date = new Date();
// 设置年份
date.setFullYear(2005)
date.setMonth(6)
date.setDate(28)
// 获取年份
var year = date.getFullYear()
var month = date.getMonth()
var day = date.getDate()
// 打印年份
console.log(year);
console.log(month);
console.log(day);
四、Array对象
var course = ["web","java"]
push()在数组末尾添加一个元素
course.push("javaScript")
console.log(course); //["web","java","JavaScript"]
unshift() 在数组开头添加一个元素
course.unshift("计算机基础")
console.log(course); //['计算机基础', 'web', 'java', 'javaScript']
pop()删除数组中最后一个元素
course.pop()
console.log(course); //['计算机基础', 'web', 'java']
shift()删除数组第一个元素
course.shift()
console.log(course);//['web','java']
splice (start,deleteCount)
var arr =[1,2,3,4,5,6,7]
arr.splice(3,2) //从下标为3的数(4)开始, 删掉后面2个数字
console.log(arr); //[1,2,3,6,7]
splice (start,deleteCount,item1,item2,item3)
arr.splice(4,0,999,888,777) //从下标为4的数字(6)开始往后面添加元素
console.log(arr); //[1, 2, 3, 6, 999, 888, 777, 7]
reverse():颠倒数组中元素的索引
var arr1 =[1,2,3,4,5,6,7]
arr1.reverse()
console.log(arr1); //[7, 6, 5, 4, 3, 2, 1]
sort
升序排序
var arr2 =[19,45,20,0,18,73]
arr2.sort(function(a,b){
return a-b
})
console.log(arr2); //[0, 18, 19, 20, 45, 73]
降序排序
var arr3 =[19,45,20,0,18,73]
arr3.sort(function(a,b){
return b-a
})
console.log(arr3); // [73, 45, 20, 19, 18, 0]
五:String对象
创建字符串对象
var str=new String("apple")
console.log(str); // ('apple')
访问字符串长度
console.log(str.length); //5
数据类型检测
console.log(typeof(str)); //object
var str1="banana"
console.log(typeof(str1)); //string
根据字符串返回索引
indexOf() 返回字符串中首次出现的索引,没有则返回-1
lastIndexOf(element) 返回字符串中最后一次出现的索引,没有则返回-1
var str="helloworld"
console.log(str.indexOf("o")); //4
console.log(str.lastIndexOf("o")); //6
根据索引返回字符串
chatAt
console.log(str.charAt(7)); //'r'
字符串截取
slice (start)
console.log(str.slice(5)); //"word"
slice(start,end) 从start的下标截取到end的下标
console.log(str.slice(1,4)); //"ell"
console.log(str); //helloword 截取不会改变原数组
字符串连接
concat()
var str1="hello"
var str2=",world"
console.log(str.concat(str2)); //helloword,word
大小写转换
toUpperCase 转化为大写
tolowerCase 转化为小写
console.log(str1.toLocaleUpperCase()); //HELLO
console.log("HELLO".toLowerCase()); //hello
替换
replace(str1,str2)
console.log(str); //helloworld
console.log(str.replace("world","JS")); //helloJS
字符串分隔(将字符串转化为数组)
split(分隔符)
console.log(str.split("")); //['h','e','l','l','o','w','o','r','l','d']
console.log(str.split());//['helloworld']
console.log(str.split("o"));//['hell','w','rld']