【js基础学习六之对象的定义和使用】

对象
创建对象三种方式
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&&对象,那个结果是对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值