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

最新文章

  1. 论AVL树与红黑树
  2. (实用篇)php支付宝接口用法分析
  3. C# empty private constructor
  4. unitty导出工程嵌入iOS原生工程中出现黑屏,但是模型还是可以扫。
  5. 相关性分析 -pearson spearman kendall相关系数
  6. android.os.DeadObjectException memory near r0: 异常处理 Consumer closed input channel or an error occurred. events=0x9
  7. Unity3d 使用NPOI读写Excel 遇到的问题
  8. [NYOJ 860] 又见01背包
  9. ZOJ2099
  10. Knockoutjs官网翻译系列(三) 使用Computed Observables
  11. 利用python3.5 构建流媒体后台音视频切换的服务端程序
  12. vue-cli 脚手架目录结构说明
  13. redis 中如何切换db
  14. jmeter 学习笔记
  15. [Java Web学习]Spring MVC使用普通类对象,声明的对象为null
  16. 非root用户安装cuda和cudnn
  17. Linux包系列的知识(附:Ubuntu16.04升级到18.04的案例)
  18. tomcat目录映射
  19. PReLU与ReLU
  20. 对一致性hash原理的理解

热门文章

  1. 最长回文子串(Mirrored String II)
  2. 优于jdbc的mybatis框架入门
  3. get-task-allow有什么用
  4. 【转发】徐汉彬:Web系统大规模并发——电商秒杀与抢购
  5. c++策略模式(Strategy Method)
  6. 734. Sentence Similarity 有字典数组的相似句子
  7. 面试题:hibernate 有用
  8. C++ 输出精度和输出小数点位数
  9. Hyperledger Fabric系统架构
  10. Part8-不用内存怎么行_我从内部看内存lesson1