JavaScript对象

本文详细介绍了JavaScript中的对象概念,包括对象的构成(属性和方法)、创建对象的三种方式、遍历对象、值对象与引用对象的区别,以及Math对象、date对象和array对象、string对象的使用方法。
摘要由CSDN通过智能技术生成

在JavaScript中,对象属于复杂数据类型,
                    它是由属性和方法组成的一个对象。
                    
                    属性是指对象的特征。
                    方法是指对象的行为。
                    
                    下面以学生的特征和行为为例进行说明。
                    学生的特征:姓名、年龄和性别,这些特征可以用对象的属性来表示。
                    学生的行为:打招呼、唱歌、写作业,这些行为可以用对象的方法来表示。

一、如何创建对象

如何创建一个JS的对象:
                方法1:使用对象的字面量创建对象(理解为直接赋值)
                例如:var arr = [1,2,3];,//静态声明数组 字面量创建
                就是用大括号“{}”来标注对象成员,
                每个对象成员使用键值对的形式保存,即 “key: value”的形式。
                多个成员通过逗号隔开
                键指的就是独一无二的属性   

创建对象的方法2:
           第一步:创建对象的函数(想象成Java的构造函数)
            function Person(id,name,age){
                this.id = id;
                this.name = name;
                this.age = age;
            }
            第二步:new对象
            var p1 = new Person(123,"王五" , 20);
            console.log(p1);
           
           使用场景:如果对象很多 就用方法2   反之方法1

 创建对象的方法3:
           如果谁不知道给对象取什么名字,就叫做Object
           var o = new Object();
           o.id=1231;
           o.name="李四";
           console.log(o);

二、如何遍历一个对象

如何遍历对象:语法如下:
             for(var i = 0;i<a10.length;i++){
                错误的写法:1.对象的键并不是012  其次对象并没有长度
            }
            
            i表示对象的下标(属性)    s10表示遍历的对象 
            for(var i  in s10){
                console.log(s10[i]);

三、值对象和引用对象

JS的参数传递 也分为值传递和引用传递
            var a = 111;
            var b = "你好";
            var c = true;
            var d = [1,2,3];
            
            function change(a,b,c,d){
                a = 222;
                b = "我好";
                c = false;
                d[0] = 123;
            }
            
            change(a,b,c,d);
            
            console.log(a);//111
            console.log(b);//你好
            console.log(c);//true
            console.log(d[0]);//123

四、Math对象

 Math对象的用法和Java中Math对象的用法几乎一致。
             唯一不同的就是 Java的数据类型分为int double等  但是js里面只有number
             
             第一个  Math.min(a,b,c,d,...);获取最小的值
              alert(Math.min(2,534,32,43,76,86));
             第二个  Math.max(a,b,c,d,...);//获取最大值 
              alert(Math.min(2,534,32,43,76,86));
            
            第三个:Math.ceil(a); 向上取整 舍去小数点   (但是Java是保留的)
             alert(Math.ceil(11.1));
            第四个:Math.floor(a); 向下取整 舍去小数点   (但是Java是保留的)
             alert(Math.floor(11.1));
            
            第五个 Math.round(x);四舍五入  如果是临界值都是往高的入
            alert(Math.round(1.5) + "~" + Math.round(-1.5));
            
            第六个:Math.random();返回一个随机数  范围  0~1  官方概念:可以取0但是不能取1  但是实际场景可以忽略0
             alert(Math.random());

五、date对象

区分date表示日期和data表示数据
            


一、date对象创建的2种方式:
               


            第一种 不放任何参数  表示获取当前时间
             var d = new Date();
             console.log(d);
            
            
            第二种方式:

放若干个数字,分别表示年月日 时分秒   按照顺序  其中月份比较特殊 0表示1月
             var d = new Date(2020,11,11);//表示2020年12月11日 0点0分0秒

二、date对象的常见方法:
          

 
            var d = new Date(2020,11,11,12,6,33);;//表示2020年12月11日 0点0分0秒
            console.log(d.getFullYear());//获取年份
            console.log(d.getMonth() + 1);//获取月份  注意0表示1
            console.log(d.getDate());//获取日期
            console.log(d.getHours());//获取小时
            console.log(d.getMinutes() );//获取分钟
            console.log(d.getSeconds() );//获取秒
            
            console.log(d.toLocaleString());//返回当前日期的字符串格式
            
            
            console.log(d.getTime());//返回从1970年1月1日0时0分0秒  到指定时刻的毫秒数

六、array对象

array对象 之前学过一遍了。
             var arr = [];
             arr.push("aa");//表示奖元素添加到数组的尾部
             console.log(arr);
            
            
             var arr = ['张三','分','阿萨德三','类似'];
             var str  =arr.toString();//默认以,分割
             console.log(str);
             var str = arr.join(":");
             console.log(str);
            
            适用常见:  用户选择自己的爱好框  
            
            
            
            数组的去重:
            var arr = [12,543,654,,432,12,3,342,53,543,6,546,54,675,756,7,3,5,3456,46,54,654,756,42,34,234,23];
            要求数组中重复的数字去掉.
            console.log(arr.length + "这是原有的长度");
            var newArr = [];
            
            for(var i = 0 ;i<arr.length;i++){
                if(newArr.indexOf(arr[i]) == -1){
                    newArr.push(arr[i]);
                }
            }
            console.log(newArr);

七、string对象

JS中的String对象的方法和Java几乎完全一致.
             判断输入的账号是否合法
            要求:长度8-18位。必须以yyzy开头。账号的最后6位必须是纯数字组成。
            var str = "yyzysaf111111";
            // console.log(str.substring(str.length-6,str.length));
            
            //  console.log(Number(str.substring(str.length-6,str.length))) ;
            
            var b = panduan(str);
            alert(b);
            
            function panduan(str){
                if(  !(str.length>=8 && str.length<=18) ){
                    alert("长度不符合条件");
                    return false;
                }
                
                if( ! str.startsWith("yyzy") ){
                    alert("不是以yyzy开头");
                    return false;
                }
                
                
                //思路:如何判断后6位是否为纯数字
                //步骤1: 取出后6位  思路 通过subString(a,b);截取
                //其中b是定死了 就是str.length   其中a=str.length-6
                
                if(Number(str.substring(str.length-6,str.length))+"" =="NaN"){
                    alert("后6位不是纯数字");
                    return false;
                }
                return true;
            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值