JS 对象的三种创建方式

变量 instanceof 类型的名字----->布尔类型,true就是这种类型,false不是这种类型

在当前的对象的方法中,可以使用this关键字代表当前的对象

1.调用系统的构造函数创建对象

  var 变量名= new Object(); Object 是系统的构造函数 Array

    添加属性-----如何添加属性? 对象.名字=值;   

    修改属性-----如何修改属性? 对象.名字=值;

    添加方法-----如何添加方法? 对象.名字=函数;

    属性调用-----对象名.属性 或者 对象名[“属性名”];

    方法调用-----对象名.方法名

//有一个黄色的小狗,叫大黄,今年已经三岁了,250斤的重量每次走路都很慢,喜欢吃大骨头
    var dog = new Object();
    dog.name = "大黄";
    dog.age = 3;
    dog.weight = 250;
    dog.walk = function () {
      console.log(this.name + "它" + this.weight + ‘斤‘ + ‘走路很慢‘);
      console.log(this.name + ‘喜欢吃大骨头‘);
    }//this 目前是指 谁调用这个函数就指向谁 更加深层的还不知道
    console.log(dog.name);
    console.log(dog.age);
    console.log(dog.weight);
    dog.walk();

2.自定义构造函数创建对象(结合第一种和需求通过工厂模式创建对象)


//如何一次性创建多个对象?把创建对象的代码封装在一个函数中

//工厂模式创建对象

function createObject(name, age, sex) {

  //创建对象

  var obj = new Object();

  //添加属性

  obj.name = name;

  obj.age = age;

  obj.sex = sex;

  //添加方法

  obj.walk = function () {

    console.log(this.name + " " + ‘性别:‘ + this.sex + " " + "今年:" + this.age + " " + "爱走路");

  };//在当前的对象的方法中,可以使用this关键字代表当前的对象

  return obj;//注意 注意 一定记得把obj返回

  }

//创建第一个对象

var xiaohong = createObject("小红", 18, "女");

xiaohong.walk()

//创建第二个对象

var xiaoming = createObject("小明", 28, "男");

xiaoming.walk()

 
//自定义构造函数创建对象,我要自己定义一个构造函数,自定义构造函数,创建对象
    //函数和构造函数的区别;名字是不是大写(首字母是大写)
    //自定义狗的构造函数,创建对象
    function Dog(name, age, sex) {
      this.name = name;
      this.age = age;
      this.sex = sex;
      this.chi= function() {
        console.log("它叫"+this.name+" " + ‘今年:‘ + this.age +"岁"+ ‘ ‘ + this.sex);
      }
    }
    //自定义构造函数创建对象:先自定义一个构造函数,创建对象
    var dabai = new Dog("大白","3","公");//记得这里得用 new 创建对象
    dabai.chi();

原文地址:https://www.cnblogs.com/wanguofeng/p/10502164.html

时间: 2024-11-07 14:18:42

JS 对象的三种创建方式的相关文章

JS对象的几种创建方式

1.join() join(separator): 将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符,该方法只接收一个参数:即分隔符. 1 2 3 4 var arr = [1,2,3]; console.log(arr.join()); // 1,2,3 console.log(arr.join("-")); // 1-2-3 console.log(arr); // [1, 2, 3](原数组不变) 通过join()方法可以实现重复字符串,只

2019年6月14日 Web框架之Django_07 进阶操作(MTV与MVC、多对多表三种创建方式、前后端传输数据编码格式contentType、ajax、自定义分页器)

摘要 MTV与MVC 多对多表三种创建方式 ajax ,前后端传输数据编码格式contentType 批量插入数据和自定义分页器 一.MVC与MTV MVC(Model View Controller 模型-视图-控制器)是一种Web架构的模式,所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层:他们之间以一种插件似的,松耦合的方式连接在一起. 模型负责业务对象与数据库的对象(ORM),视图负责与用户的交互(页面),控制器(C)接受用户的输入调用模型和视图完成用户的请求. M

Django框架进阶6 多对多三种创建方式, Ajax, Content-Type前后端传输数据编码格式, Ajax发送文件数据, django内置的序列化功能, Ajax结合sweetalert实现删除二次确认, 批量插入数据, 自定义分页器, ajax结合sweetalert实现删除二次确认

多对多三种创建方式 1.全自动(较为常用) class Book(models.Model): title = models.CharField(max_length=32) authors = models.ManyToManyField(to='Author') # orm就会自动帮你创建第三张表 class Author(models.Model): name = models.CharField(max_length=32) ''' 好处:第三张表自己创建 不足之处:第三张表无法扩展额外

Python Django 多对多三种创建方式 form组件 cookie和session

一 表中多对多关系三种创建方式 以Book表和Author表多对多关系例 1.第一种方式:全自动(推荐使用):models.ManyToManyField(to='类名') 优点:不需要你手动创建第三张表 缺点:第三张表不是你手动创建的,字段是固定的无法拓展 class Book(models.Model): title = models.CharField(max_length=32) price = models.DecimalField(max_digits=8,decimal_place

多对多三种创建方式、forms组件、cookies与session

多对多三种创建方式.forms组件.cookies与session 一.多对多三种创建方式 1.全自动 # 优势:不需要你手动创建第三张表 # 不足:由于第三张表不是你手动创建的,也就意味着第三张表字段是固定的无法做扩展 class Book(models.Model): title = models.CharField(max_length=32) price = models.DecimalField(max_digits=8,decimal_places=2) authors = mode

多对多三种创建方式,forms组件,cookie和session

多对多三种创建方式 1.全自动 优点:不需要自己手动创建第三章表缺点:由于第三张表不是自己创建的,也就是说第三张表字段是固定的没有办法做扩展 class Book(models.Model): title = models.CharField(max_length=32) price = models.DecimalField(max_digits=8,decimal_places=2) authors = models.ManyToManyField(to='Author') class Au

Js函数的三种创建、四种调用

1 // 函数的三种创建方法 2 function one(){ // 函数声明,不属于任何对象,始终默认为全局对象 3 console.log("第一个函数") 4 //默认有一个return this,返回函数中的内容 5 } 6 one(); //必须调用:可以在函数声明前调用(预处理变异机制) 7 8 var fn=function(){ //函数表达式 9 console.log("第二个函数") 10 } 11 fn(); //必须先声明再调用 12 1

Spring三 Bean的三种创建方式

创建Bean的三种方式在大多数情况下,Spring容器直接通过new关键字调用构造器来创建Bean实例,而class属性指定Bean实例的实现类,但这不是实例化Bean的唯一方法.实际上,Spring支持使用以下三种方式来创建Bean:(1)调用构造器创建Bean(2)调用静态工厂方法创建Bean(3)调用实例工厂方法创建Bean一 构造器创建Bean实例如果不采用构造注入,Spring底层会调用Bean类的无参数构造器来创建实例,因此该类必须要提供无参数的构造器,并且class属性的值就是该B

JAVA并发编程学习笔记------线程的三种创建方式

创建线程一般有如下几个方式: 1. 通过继承Thread类来创建一个线程: /** * 步骤1:定义一个继承Thread类的子类 * 步骤2:构造子类的一个对象 * 步骤3:启动线程: * */ public class ThreadTest{ public static void main(String[] args) { //构造子类对象 SubThread subThread = new SubThread(); //启动线程 subThread.start(); } } //定义继承Th