JavaScript 对象

一.对象的概念

在JavaScript中,对象属于复杂数据类型,

                    它是由属性和方法组成的一个对象。

                   

                    属性是指对象的特征。

                    方法是指对象的行为。

                    

                    下面以学生的特征和行为为例进行说明。

                    学生的特征:姓名、年龄和性别,这些特征可以用对象的属性来表示。

                    学生的行为:打招呼、唱歌、写作业,这些行为可以用对象的方法来表示。

二.创建对象

判断一个变量是否为对象的小技巧:通过console.log打印.

            如果打印的是一行字符串 就说明是基本数据类型

            如果打印的是一个可以折叠的数据 就表示对象

             var a = 11;

             console.log(a);

             var arr = [1,2,3,4];

             console.log(arr);

            

            

            

                如何创建一个JS的对象:

                方法1:使用对象的字面量创建对象(理解为直接赋值)

                例如:var arr = [1,2,3];,//静态声明数组 字面量创建

                就是用大括号“{}”来标注对象成员,

                每个对象成员使用键值对的形式保存,即 “key: value”的形式。

                多个成员通过逗号隔开

                键指的就是独一无二的属性

            

        

          var student1 = { 'id' :1001 ,name:"张三" , age : 18 , 'sex-sex' : '男' } ;

         其中键可以选择性的加引号

         console.log(student1);

         如何访问对象里面的值的方法1: 通过对象名.属性名即可

          console.log(student1.id + "~" + student1.name + "~" + student1.age );

         如果存在一些命名不规范的变量 无法通过对象名.属性名访问

          console.log(student1.sex-sex);这行代码是报错的

         访问对象里面的值的方法2:通过对象名[属性名]

          console.log(student1['sex-sex']);

          console.log(student1['name']);

        

         创建对象的补充:如果一开始只知道有对象,但是不知道它有什么属性或属性值,

         那么可以先创建一个空对象壳子

          var s123 = {};

         后续再声明属性的同时进行赋值

          s123.id = 123;

          s123.name = "Lisi";

          s123.age = "男";

          console.log(s123.id);//123

          console.log(s123.dasd);

        

        

         创建对象的方法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

        

        

         补充:对象由:属性和方法

         var s1 = {

              id :11,

              name:"张三",

             age :18,

             study : function(){

                  alert("成功调用了这个对象的这个方法");

              }

         };

        

         alert(s1.id);

         s1.study();

        

        

        

        

         function Person(id,name,age){

                   this.id = id;

                   this.name = name;

                   this.age = age;

                     this.eat = function(){

                         alert("我吃拉面");

                     }

         }

         第二步:new对象

         var p1 = new Person(123,"王五" , 20);

         p1.eat();

        

        

        

         创建对象的方法3:

         如果谁不知道给对象取什么名字,就叫做Object

         var o = new Object();

         o.id=1231;

         o.name="李四";

         console.log(o);

三.遍历对象

  

             var arr = [1,2,4,3];

             console.log(arr);

            

            var s10 = {

                             id :10010,

                             name:"张三",

                             age:20,

                             sex:'男',

                             height : 188,

                             weight :200

            };

             console.log(s10);

            

            由于直接输出s10将只会显示object我们需要内部的属性值/

            方法1:如果只需要某一个属性值, 直接通过s10.属性名即可

            方法2:如果所有的属性值都需要,那么也可以通过s10.属性名 只是比较麻烦.

            学习:如何遍历对象:语法如下:

             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());

        

        

        

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值