JavaScript:对象

一、对象的介绍

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']

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值