Java教程

JavaScript对象

本文主要是介绍JavaScript对象,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、走进对象

编程思想: 就是把一些生活中的做事的经验融入到程序中
1.面向过程:凡事都要亲历亲为,每件事的具体过程都要知道,注重的是过程
2.面向对象:根据需求找对象,所有的事都用于对象来做,注重的是结果
3.面向对象的特性:封装、继承、多态(抽象性)
4.JS不是面向对象的语言,但是可以模拟面向对象的思想
5.JS是一门基于对象的语言

二、什么是对象?

在JS中有一句话: 万物皆对象,指的是看得见,摸得着,具体特指的某个东西。例如,从左边数第二个同学,我头发上那个粉色的发夹。
对象的特点: 有属性和方法,具体指的某个事物(特征→属性;行为→方法)

三、创建对象的三种方式

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

语法:

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

//实例化对象
var obj = new Object();
//对象有特征---属性和行为---方法

//添加属性-----如何添加属性?  对象.名字=值;
obj.name = "小苏";
obj.age = 38;
obj.sex = "女";
//添加方法----如何添加方法? 对象.名字=函数;
obj.eat = function () {
  console.log("我喜欢吃榴莲");
};
obj.play = function () {
  console.log("我喜欢玩飞机模型");
};
console.log(obj.name);//获取--输出了
console.log(obj.age);
console.log(obj.sex);
//方法的调用
obj.eat();
obj.play();

输出结果

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

// 人的对象
var person = new Object();
person.name = "小白";
person.age = 10;
person.sayHi = function() {
    //在当前这个对象的方法中是可以访问当前这个对象的属性的值
    console.log("您好,吃了没您,我叫:" + this.name);
};
//学生的对象
var stu = new Object();
stu.name = "小芳";
stu.age = 18;
stu.study = function() {
    console.log("学习,敲代码,我今年" + this.age + "岁了");
};
//小狗的对象
var dog = new Object();
dog.name = "哮天犬";
dog.say = function() {
    console.log("汪汪...我是哮天犬");
};

(1)输出人、学生、小狗是不是对象的类型
3-2-1
instanceof:获取对象某变量是否属于某类型
语法:变量 instanceof 对象
结果为布尔类型,true就是这种类型,false不是这种类型
(2)在当前对象的方法中调用当前对象的属性,可以使用this关键字代表当前的对象
3-2-2
(3)如何一次性创建多个对象(工厂模式创建对象
把创建对象的代码封装在一个函数中
3-2-3
函数和构造函数的区别: 名字是不是大写的(首字母是大写)——初学可以用这种方法区分
(4)自定义构造函数创建对象
在这里插入图片描述
在这里插入图片描述
(5)自定义构造函数做了几件事(创建对象的时候)
① 在内存中申请一块空闲的空间,存储创建新的对象
② 把this设置为当前对象
③ 设置对象的属性和方法的值
④ 把this对象返回
(6)创建对象的内存图

在这里插入图片描述

3、字面量方式创建对象

在这里插入图片描述

4、总结

(1)字面量创建对象的缺陷:一次性的对象
在这里插入图片描述

(2)点语法:对象.名字=值;(属性) 对象.名字=函数;(方法)
       JS是一门动态类型的语言如何理解:
            ①代码(变量)只有执行到这个位置的时候,才知道这个变量中到底存储的是什么。如果是对象,就有对象的属性和方法;如果是变量就是变量的作用
            ②对象没有什么,只要点了,通过点语法,那么就可以为对象添加属性或者方法
(3)中括号的写法
在这里插入图片描述

这篇关于JavaScript对象的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!