JS对象和构造函数

本文介绍了JavaScript中对象的概念,包括属性和方法的定义,以及创建对象的三种方式:字面量、new Object和构造函数。详细阐述了构造函数的使用,包括实例化过程和this关键字的作用。同时,讲解了如何遍历对象、内置对象的使用,以及通过示例展示了随机点名和猜数字小游戏的实现。此外,还提及了Date对象及其常用方法。
摘要由CSDN通过智能技术生成

在Js中,对象是一组无序的相关属性方法的集合,所有事物都是对象,例如字符串、数值、数组、函数等。

对象是由属性方法组成的。

  • 属性:事物的特征,在对象中用属性来表示(常用名词)
  • 方法:事物的行为,在对象中用方法来表示(常用动词)

 创建对象(object)的三种方法

  • 利用字面量创建对象
  • 利用 new Object 创建对象
  • 利用构造函数创建对象

利用字面量创建对象 

  • 对象的字面量是{ }
  • var obj = { }; // 创建了一个空的对象
    var obj = {
            uname: "张三疯",
            age: 18,
            sex: "男",
            sayHi: function () {
              console.log("hi~");
            },
          };
          console.log(obj);
     var obj = new Object();
          obj.uname = "张三疯";
          obj.age = 18;
          obj.sex = "男";
          obj.sayHi = function () {
            console.log("hi~");
          };

    使用对象

  • 调用对象的属性 对象名.属性名 console.log(obj.uname);
  • 调用对象的属性方法2 对象名['属性名']  console.log(obj['age']);
  • 调用对象的方法 对象名.方法名()obj.sayHi();
     var obj = {
            uname: "张三疯",
            age: 18,
            sex: "男",
            sayHi: function () {
              console.log("hi~");
            },
          };

    构造函数

  •  把对象里面一些相同的属性和方法抽象出来封装到函数里面
  • 利用构造函数创建对象的过程也称为对象的实例化
  1. 构造函数名字首字母大写
  2. 构造函数不需要return 就可以返回结果  
  3. 调用构造函数必须使用 new
  4. 只要 new Star()调用函数就创建一个对象
  5. 属性和方法前面必须添加 this

      // 构造函数的语法格式 

      function 构造函数名() {

        this.属性 = 值;

        this.方法 = function() {}

      }

      // 调用构造函数

      new 构造函数名();

  function Star(uname, age, sex) {
        this.name = uname;
        this.age = age;
        this.sex = sex;
        this.sing = function (sang) {
          console.log(sang);
        };
      }
      var ldh = new Star("刘德华", 28, "男");
      ldh.sing("冰雨");
      console.log(ldh.name);

new 的作用

  1. 在内存中创建一个新的空对象
  2. 让this指向这个新的对象
  3. 执行构造函数里面的代码,给这个新对象添加属性和方法
  4. 返回这个新对象(所以构造函数里面不需要return)

遍历对象

for(变量 in 对象) { }

 var obj = {
        name: "pink老师",
        age: 18,
        sex: "男",
      };
      for (var k in obj) {
        console.log(obj[k]);
      }

内置对象

内置对象就是指Js语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)                                                                                                          可以查阅文档 MDN

随机点名 

 function getRandom(min, max) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
      }
      // console.log(getRandom(1, 10));
      //随机点名
      var arr = ["张三", "李四", "王五", "李白"];
      console.log(arr[getRandom(0, arr.length - 1)]);

猜数字小游戏 

  function getRandom(min, max) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
      }
      var random = getRandom(1, 10);
      var i = 1;
      while (i < 11) {
        var num = prompt("你来猜? 输入1-10之间的一个数字");
        i++;
        if (num > random) {
          alert("你猜大了");
        } else if (num < random) {
          alert("你猜小了");
        } else {
          alert("你好帅哦,猜对了");
          break;
        }
      }
      alert("好笨哦都给你十次机会啦还没猜到");

日期对象的使用

Date()日期对象 是一个构造函数 必须使用new 来调用创建我们的日期对象

需要获取日期的指定部分,要手动得到这种格式

方法名说明
getFullYear()获取当年
getMonth()获取当月(0-11)
getDate()获取当天日期
getDay()获取今天星期几(周日0-周六6)
getHours()获取当前小时
getMinuters()获取当前分钟
getSeconds()获取当前秒钟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值