万物皆对象
类是具有相同或相似属性和功能(方法)的这些事物,统称为一类
php中的对象:实例化(new)
javascript中的对象:自定义对象、内置对象、浏览器对象
一:字面量创建对象
对象里边只有属性和方法,属性和方法是以键值对的形式存在,键和值之间用冒号:隔开
对象(object) 中的字面量 指的是 花括号{}
var 对象的名称 = {
// 属性 可以理解为变量名
属性名:属性值,
//属性 可以理解为函数
方法名:function(){}
}
var person = {
gongHao:'HS001',
name:'王平',
money:1500,
skill:function(){
console.log('working....');
}
}
对象属性的调用
语法: 对象名.属性名
<script>
//在浏览器上边输出:王平的工号是HS001,工资是1500
document.write(person.name+'的工号是'+person.gongHao+',工资是'+person.money)
</script>
对象属性值的修改
语法: 对象名=要修改的值
<script>
// 将name属性的值修改为 张美
person.name='张美'
</script>
对象中方法的调用
语法:对象.方法名称()
<script>
// 方法调用
person.skill()
</script>
二.利用newObject创建对象
语法:newObject()
<script>
var andy = new Object();
andy.name = 'pink';
andy.age = 18;
andy.sex= '男';
andy.sayHi = function(){
alert('大家好啊~');
}
</script>
三.利用构造函数创建对象
构造函数:是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与new运算符一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。
<script>
function Person(name,age,sex){
this.name=name; //this.name 这里的name是对象的属性名称,等号后边的name是要赋的值
this.age=age;
this.sex=sex;
this.sayHi=function(){
alert('我的名字叫:'+this.name+',年龄:'+this.age+',性别:'+this.sex);
}
}
var bigbai=newPerson('大白',100,'男');
var smallbai = new Person('小白',21,'男');
console.log(bigbai.name);
</script>
四.内置对象
1.Math对象
Math.PI //圆周率
Math.floor() //向下取整
Math.ceil() //向上取整
Math.round() //四舍五入版 就近取整 注意-3.5 结果是-3
Math.abs() //绝对值
Math.max() //求最大值
Math.min() //最小值
Math.random()//随机数
输出一个1-10范围内的随机数
<script>
Math.ceil(Math.random()*10)
</script>
2.Date对象
Date对象和Math对象不同,Date对象需要通过new关键字进行创建
语法:var对象名称=newDate()
方法名 | 作用 | 备注 |
---|---|---|
getFullYear() | 获取当前年份 | 4位数年份 |
getMonth() | 获取当前月份 | 0-11表达1-12月 |
getDate() | 获取当前日期 | |
getDay() | 获取星期几 | 周日0 至周6 |
getHours() | 获取当前小时 | |
getMinutes() | 获取当前分钟 | |
getSeconds() | 获取当前秒钟 | |
getTime() | 获取时间戳 | 自1970年1月1日起至今的毫秒数 |
3.数组对象
var arr=[]
数组名.方法()
数组对象方法
方法名 | 作用 | 说明 |
isArray() | 判断对象是否为数组 | |
push() | 数组末尾添加一个或多个元素,修改原 数组 | 返回新数组长度 |
pop() | 删除数组最后一个元素,无参数,修改原数组 | 返回删除的元素值 |
shift() | 删除数组的第一个元素,无参数,修改 原数组 | 返回删除后数组的长度 |
unshift() | 向数组开头添加一个或更多元素,修改 原数组 | 返回新数组长度 |
indexOf() | 数组中查找给定元素的第一个索引 | 存在返回索引号,不存在返回-1 |
lastIndexOf() | 数组中查找给定元素的最后一个索引 | 存在返回索引号,不存在返回-1 |
toString() | 把数组转成字符串,逗号分隔每一项 | 返回一个字符串 |
join('分隔符') | 用于把数组中的所有元素转换为一个字 符串 | 返回一个字符串 |
concat() | 连接两个或多个数组不影响原数组 | 返回一个新的数组 |
slice() | 数组截取slice(begin,end) | 返回被截取的新数组 |
splice | 数组删除splice(第几个开始,要删除个数) | 返回被删除项目的新数组,影响原 |
slice()和splice()目的基本相同,建议同学们重点看下splice()
案例:筛选数组**
有一个包含工资的数组[1500,1200,2000,2100,1800]要求把数组中工资超过2000的删除,剩余的放
到新数组里面
<script>
var arr = [1500,1200,2000,2100,1800];
var newArr = [];
for(var i=0; i <arr.length; i++) {
if(arr[i]<2000){
newArr.push(arr[i]);
}
}
console.log(newArr);
</script>
数组去重 核心方法:indexOf()
4字符串对象
方法名称 | 作用 | 备注 |
indexOf('要查找的字符', 开始位置) | 查找某字符在原字符串中首次出现的位置 | 返回指定内容的位置 索引,如果找不到返 回-1 |
lastIndexOf | 查找最后一次出现的位置 | 找到返回位置索引, 找不到返回-1 |
concat(str1,str2,str3,...) | 连接两个或多个字符串,等同于+ | 返回拼接后的字符串 |
substr(start,length) | 字符串截取,从start位置开始,length取的个数 | 返回截取后字符串 |
slice(start,end) | 从start位置开始,截取到end位置,end取不到 | 返回截取的字符串 |
substring(start,end) | 从start位置开始,截取到end位置,end 取不到,基本和slice相同,但不接受负值 | |
replace() | ||
split() | ||
toUpperCase() | 转为大写 | 返回转后的字符串 |
toLowerCase() | 转为小写 | 返回转后的字符串 |