对象
创建对象三种方式
1.调用系统的构造函数创建对象
var 变量名 = new Object();//Object是系统的构造函数
2.自定义构造函数创建对象:先自定义一个构造函数,创建对象
构造函数首字母一般大写
function Person(name,age){
this.name=name;
this.age=age;
this.sayHi=function(){
console.log(this.name+this.age);
}
}
自定义函数做了几件事?
在内存中开辟空间,存储创建的新的对象
把this设置为当前的对象
设置对象的属性和方法的值
把this这个对象返回
3.字面量的方式创建对象
var obj={};
obj.name="小白";
obj.age=10;
obj.sayHi=function(){
console.log(this.name);
}
如何获取该变量(对象)是不是属于什么类型的
语法:变量 instanceof 类型的名字--->布尔类型 是true 不是false
var person=new Object();
person.name="小白";
person.age="10";
person.sayHi=function(){
console.log("hah");
}
console.log(person instanceof Object)//true
4.json格式数据:一般是成对的,是键值对,json也是一个对象
var obj={
“name":"小明",
"age":10,
"sex":"男"
};
获取对象里面的属性和值通过for in遍历
for(var key in obj){
console.log(key+"=========="+obj[key]);
}
5.内置对象
Math Date String Array Object
Math.PI -----Π
Math.abs(值)---常数的底数
Math.ceil(值)--向上取整
Math.floor(值)--向下取整
Math.random---随机数字
Math.sqrt()--开平方
重要:Math.abs(null)//0;
Date
var dt = new Date();
dt.getFullYear();//年
dt.getMonth();//月--从0开始
dt.getDate();//日
dt.getHours();//小时
dt.getMinutes();//分钟
dt.getSeconds();//秒
dt.getDay();//星期--从0开始
dt.toDateString();//日期--Sun Aug 19 2018
dt.toLocaleDateString();//日期--2018/8/19
dt.toTimeString();//时间 17:26:28 GMT+0800(中国标准时间)
dt.toLocaleTimeString();//时间 2018/8/19 下午5:26:28
dt.valueof();毫秒
String
常用属性
.length------>字符串的长度
eg:var str="haha";
console.log(str.length);//4
.charAt(索引)--->返回值是指定索引位置的字符串,超出索引,结果是空字符串
eg: var str="hellojavascript";
var result=str.charAt(5);
console.log(result);//j
var result1=str.charAt(100);
console.log(result1);//结果是空字符串
.concat(字符串1,字符串2,...)--->返回的是拼接后新的字符串
eg:var str="hello";
console.log(str.concat("are","you"));//helloareyou
.indexOf(要找的字符串)//一个参数
eg:var str="君为红颜舞红颜为君舞";
var result=str.indexOf("红");
console.log(result);//2
var result1=str.indexOf("我好帅");
console.log(result1);//-1
.indexOf(要找的字符串,从某个位置开始的索引)//两个参数,返回的是这个字符串的索引值,没有找到则返回-1
eg: var str="君为红颜舞红颜为君舞";
var result=str.indexOf("红",4);
console.log(result);//5
var result1=str.indexOf("我好帅",2);
console.log(result1);//-1
.replace("原来的字符串","新的字符串")---->替换字符串
eg: var str="helloworld";
console.log(str.replace("hello","haha"));//hahaworld
.slice(开始的索引,结束的索引)--->从索引5的位置开始提取,到索引10的前一个结束,没有10,并返回这个提取后的字符串
eg: var str="javascript";
var result=str.slice(2,6);//从2开始,到6的前一个结束,没有6
console.log(result);//vasc
.split("要干掉的字符串")--->一个参数,切割字符串
eg:var str="呵呵|哈哈|嘿嘿|啧啧";
var result=str.split("|");
console.log(result);//["呵呵", "哈哈", "嘿嘿", "啧啧"]
.split("要干掉的字符串",切割后留下的个数);
eg:var str="呵呵|哈哈|嘿嘿|啧啧";
var result1=str.split("|",2);
console.log(result1);//["呵呵", "哈哈"]
.substr(开始的位置,个数)--->返回的是截取后新的字符串
eg:var str="ehdklfdss";
var result=str.substr(2,3);
console.log(result);//dkl
.substring(开始索引,结束索引)--->返回截取后的字符串,不包含结束的字符串
eg:var str="ehdklfdss";
var result1=str.substring(2,3);
console.log(result1);//d
.trim()-->去掉字符串两端的空格
Array:内置对象,也是数组
常用属性
.isArray(对象)--->判断这个对象是不是数组
eg:var arr=[];//数组
var obj={};//对象
console.log(Array.isArray(arr));//true
console.log(Array.isArray(obj));//false
.every(函数)-->返回值是布尔类型,函数作为参数使用,函数中有三个参数,第一个是元素的值,第二个参数是索引值
第三个参数是原来的数组。如果这个数组中的每一个元素的值都符合条件,最后才返回true
eg:var arr=[100,200,300];
var flag=arr.every(function(a,b){
return a>200;//数组中的每一个元素的值都要大于200的情况,最后才返回true
});
console.log(flag);//false
.push(值)---->把值追加到数组中,加到最后了返回值也是追加数据之后的数组长度
eg:var arr=[100,200,300];
arr.push[400];
console.log(arr);//[100,200,300,400]
.pop()---->删除数组中最后一个元素,返回值就是删除的这个值
eg: var arr=[100,200,300];
var result = arr.pop();
console.log(result);//300
console.log(arr);//[100,200]
.shift()--->删除数组中第一个元素,返回值就是删除的这个值
eg: var arr=[100,200,300];
var result=arr.shift();
console.log(result);//100
console.log(arr);//[200,300]
.unshift()-->向数组的第一个元素前面插入一个新的元素,返回值就是插入后的长度
var arr=[100,200,300];
var result=arr.unshift(50);
console.log(result);//4
console.log(arr);//[50,100,200,300]
.forEach(函数)方法--遍历数组--相当于for循环
eg: var arr=[100,200,300];
arr.forEach(function(ele,index){
console.log(ele+"==="+index);//100 === 0 200===1 300===2
})
.indexOf(元素值)-->返回的是索引,没有则是-1
eg: var arr=[100,200,300];
var result =arr.indexOf(400);
console.log(result);//-1
.reverse();--->反转数组
eg: var arr=[20,30,40,60,40,10];
arr.reverse();
console.log(arr);//[10,40,60,40,30,20]
.sort();---排序
eg: var arr=[20,30,40,60,40,10];
arr.sort();
console.log(arr);//[10,20,30,40,40,60]
.splice(开始的位置,要删除的个数,替换的元素的值)-->一般用于删除数组中的元素,或者是替换元素,或者是删除元素
如果是一个对象&&true,那个结果是true
如果是一个true&&对象,那个结果是对象