变量 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();
3.字面量的形式创建对象
var obj ={
name:"小明",//直接设置属性 中间用逗号隔开
age:18,
eat: function(){
console.log("吃饭了");
},//方法也直接设置
sayHi:function(){
console.log("我是"+this.name+" "+"我今年"+this.age)
}
}
obj.eat();
obj.sayHi();
 

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

  1. js对象的几种创建方式和js实现继承的方式[转]

    一.js对象的创建方式 1. 使用Object构造函数来创建一个对象,下面代码创建了一个person对象,并用两种方式打印出了Name的属性值. var person = new Object(); ...

  2. 请列举出JS对象的几种创建方式?

    javascript创建对象简单的说,无非就是使用内置对象或各种自定义对象,当然还可以用JSON:但写法有很多种,也能混合使用. 1.对象字面量的方式 var person={firstname:&q ...

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

    摘要 MTV与MVC 多对多表三种创建方式 ajax ,前后端传输数据编码格式contentType 批量插入数据和自定义分页器 一.MVC与MTV MVC(Model View Controller ...

  4. 多对多的三种创建方式-forms相关组件-钩子函数-cookie与session

    多对多的三种创建方式 1.全自动(推荐使用的**) 优势:第三张可以任意的扩展字段 缺点:ORM查询不方便,如果后续字段增加更改时不便添加修改 manyToManyField创建的第三张表属于虚拟的, ...

  5. 面向面试编程——javascript对象的几种创建方式

    javascript对象的几种创建方式 总共有以下几个模式: 1.工厂模式 2.构造函数模式 3.原型模式 4.混合构造函数和原型模式 5.动态原型模式 6.寄生构造函数模式 7.稳妥构造函数模式 1 ...

  6. JavaScript 闭包的详细分享(三种创建方式)(附小实例)

    JavaScript闭包的详细理解 一.原理:闭包函数--指有权访问私有函数里面的变量和对象还有方法等:通俗的讲就是突破私有函数的作用域,让函数外面能够使用函数里面的变量及方法. 1.第一种创建方式 ...

  7. Django-多对多关系的三种创建方式-forms组件使用-cookie与session-08

    目录 表模型类多对多关系的三种创建方式 django forms 组件 登录功能手写推理过程 整段代码可以放过来 forms 组件使用 forms 后端定义规则并校验结果 forms 前端渲染标签组件 ...

  8. django----多对多三种创建方式 form组件

    目录 多对多三种创建方式 全自动 全手动 半自动 form组件 基本使用 form_obj 及 is_valid() 前端渲染方式 取消前端自动校验 正则校验 钩子函数(Hook方法) cleaned ...

  9. Django框架(十)--ORM多对多关联关系三种创建方式、form组件

    多对多的三种创建方式 1.全自动(就是平常我们创建表多对多关系的方式) class Book(models.Model): title = models.CharField(max_length=32 ...

随机推荐

  1. Sprite Editor

    [Sprite Editor] 在Unity3D中,一个图片可以有多种类型(如下图).对于2D游戏开发,最常用的类型就是Sprite. 下图是Sprite Texture的属性,Packing Tag ...

  2. 【原创】8. MYSQL++中的Row类型

    一.mysqlpp::Row类型 在之前的介绍中我们看到了如何通过mysqlpp::Query找到各种Result类型,然后又仔细分析了各种Result类型又是如何生成对应的Row类型(如下所示). ...

  3. Project2--Lucene的Ranking算法修改:BM25算法

    原文出自:http://blog.csdn.net/wbia2010lkl/article/details/6046661 1.       BM25算法 BM25是二元独立模型的扩展,其得分函数有很 ...

  4. day58-activiti 02-历史数据查询

    Activity 笔记  第二天 今天内容安排: 1.历史数据查询 办过多少个任务, 这些历史数据有时候我们也需要去查询一下. 本身day02这个项目就没有导jar包,有点类似于maven,在你的项目 ...

  5. 【bzoj2749】[HAOI2012]外星人

    2749: [HAOI2012]外星人 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 677  Solved: 360[Submit][Status][ ...

  6. 用TCGA数据库分析癌症和癌旁组织的表达差异

    上周收到一条求助信息:“如何用TCGA数据库分析LINC00152在卵巢癌与正常组织的的表达差异?” 所以以这个题目为记录分析过程如下: 一.下载数据 a)进入网站https://cancergeno ...

  7. 468C Hack it!

    传送门 题目大意 分析 here 对于最后求p的过程我想再说一下 那个45就是最前一位分别是0~9,所以总贡献就是45乘上每一种数开头对应多少种情况 而后面的10则是他前面可以填多少不同的数对他做的贡 ...

  8. Luogu 4869 albus就是要第一个出场

    BZOJ 2844 被NOIP模拟赛题弄自闭了QuQ. 因为本题要求异或,所以自然地构造出线性基,假设本题中给出的数有$n$个,而我们构造出的线性基大小为$m$,那么每一个可以异或出来的数相当于出现了 ...

  9. 利用osmosis导出osm城市数据

    转载(未测试) 方法核心就是利用osmosis的导出指定功能,即是从大范围导出小范围的基本用例. 我们只需要知道我们所需要提取的城市的经纬度范围, 例如广州市的经纬度范围是北纬22.26~23.56度 ...

  10. wordpress中add_action和add_filter

    add_action( string $tag, callable $function_to_add, int $priority = 10,int $accepted_args = 1 ) 官网是这 ...