JavaScript修炼之路-筑基篇(四)对象

     

目录

遍历对象


   对象分为三类  自定义对象 (封装自己的对象)、内置对象(math、日期、数组、字符串对象)、游览器对象

一为自定义对象

        js中是一组无序的相关属性(特征)方法(行为)的集合,让结构表达更清晰

创建对象:

//利用字面量创建对象 {}

//var obj = {}  创建了一个空的对象

//里面的属性使用键值对的形式   建 属性名:值

    var obj = {

        unname:'张三疯',

        age:18,

        sex:'',

        sayHi:function() {

            console.log('hi~'); //函数——方法

        }

    }

    //调用对象属性 对象名.属性名

    console.log(obj.age);

    //对象名['属性名']

    console.log(obj['unname']);

    //调用对象的方法’  对象名.方法名()

    obj.sayHi();

        变量和函数单独存在,单独拿出使用

        属性和方法,通过 对象 . 名 来调用

//利用new object 创建对象

    var obj = new Object();

    obj.uname = '张三分';

    obj.sayHi = function() {

        console.log('hi~');

    }

new关键字执行的过程

1.在内存中创建一个新的空对象

2.让this指向这个新对象

3.执行构造函数里的代码,为新对象添加属性和方法

4.返回这个新对象(所以构造函数不需要return)

通过new关键字创建对象的过程即为 对象实例化

//构造函数,以一次创建多个重复的对象    //泛指的一个大类

   function Star(uname, age, sex) {

       this.name = uname;

       this.age = age;              //必须使用this

       this.sex = sex;

       this.sing = function() {

           console.log();

       }

   }

   var ldh = new Star ('六得花', 19, '');//调用函数 就返回一个对象 对象特指一个具体的事物

   console.log(ldh.age);

   var zxy = new Star('张学友', 11, '');

   console.log(zxy.name);

   ldh.sing ('忘情水');//调用

   //构造函数首字母要大写

   //构造函数不需要return 就能返回结果

   //调用函数必须使用 new

遍历对象

for (变量  in 对象名){}                变量一般都使用k

 for (var k in ldh) {

       console.log(k); //得到的是属性名

       console.log(ldh[k]);//得到的是属性值

   }

                                                                                                                                                           

内置对象

js自带的一些对象,提供基本和常用的属性和方法

查阅文档

MDN/W3C

//一些math函数

Math.floor()   //向下取整

Math.ceil() //向上取整

Math.abs()  //取绝对值

Math.round()   //四舍五入 就近取整  -3.5 取 -3   1.5 取 2

Math.random() //随机取一个随机小数  01

                             随机取一个范围内的整数

function getRandom( min , max) {

                return Math.floor(Math.random()*(max - min + 1)) + min;

            }

       console.log(getRandom(1, 8));

数组名.sort(function(){

            return 0.5-Math.random()

        });

//将数组乱序的一种方法

封装自己的对象

例如封装一个求最大值的函数。

var myMath = {

            max: function() {

                var max = arguments[0];

                for (var i = 0 ; i < arguments.length ; i++)

                {

                    if (arguments[i]>max)

                    max = arguments[i];

                }

                return max;

            }

        }  

        console.log(myMath.max(1,5,9));

Data()日期对象,是一个构造函数 ,必须使用new来调用创建日期对象

 var date = new Date();         //var date = new Date('2021-10-16 17:02:00');

       console.log(date);

返回一个当前的时分秒 格式   00:00:00

 function getTime() {

        var time = new Date();

        var h = time.getHours();

        h = h < 10 ? '0'+ h : h ;

        var m = time.getMinutes();

        m = m < 10 ? '0' + m : m ;

        var s = time.getSeconds();

        s = s < 10 ? '0' + s : s ;

        return h + ':' + m + ':' + s ;

    }

    console.log(getTime());

//获取现在距离1970年1月1号到现在的总毫秒数

      var data1 = +new Date();

      console.log (data1);

//获取现在的时间的函数

function getTime() {

        var time = new Date();

         var year = time.getFullYear();

        var month = time.getMonth()+1;

        var dates = time.getDate();

        var h = time.getHours();

        h = h < 10 ? '0'+ h : h ;

        var m = time.getMinutes();

        m = m < 10 ? '0' + m : m ;

        var s = time.getSeconds();

        s = s < 10 ? '0' + s : s ;

        return year + '-'+ month +'-'+ dates +' ' + h + ':' + m + ':' + s ;

    }

基本包装类型 string 、number 、 boolean

将简单数据类型  包装成 复杂数据类型

     var arr = ['acacaca'];

     console.log(arr.length);

//arr具有length属性


祝你学习快乐!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

superfortunate

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值