一、今日所学内容
1、函数的声明方式
(1)命名函数、匿名函数
(2)注意点:
因为函数没有名字,所以叫做匿名函数
fun实际上是一个变量,它里面存储的是一个函数
函数调用的时候,调用的代码必须写在匿名函数的后面
2、变量的作用域及作用域链
(1)变量的作用域
全局变量:全局变量在全局中都可以使用,如果在函数中只给变量赋值,而没有声明,那么这个变量就是全局变量
局部变量:局部变量只能在函数的内部进行使用,外部不能使用
(2)作用域链:当有多个变量名称相同的时候,采用就近原则,使用距离自己最近的变量来进行使用
3、JS的预解析
(1)变量的预解析:只提升变量到当前作用域的最前面,不提升赋值操作
(2)函数的预解析:就是将所有的函数声明提升到当前作用域的最前面,不会有自动调用的操作
4、对象的概念
(1)现实生活中,万物皆对象,对象是一个具体的事物,比如说:一个人、一本书、一张网页等
(2)在JS中,对象是一组无序的相关属性和方法的集合
属性:事物的特征,在对象中的属性经常会使用名词来表示
方法:事物的行为,在对象中的方法经常会使用动词来表示
5、为什么需要对象?
(1)保存一个值,用变量;
(2)保存多个值,用数组;
(3)保存一个人的完整信息,用对象;
6、创建对象的三种方式
(1)利用字面量来创建对象
a、创建规则:使用大括号{},里面包括表达这个具体事物(对象)的属性和方法;{}里面是使用键值对的形式来表示的
b、调用规则
对象里面的属性调用:对象名.属性名;可以理解为对象名的属性名;对象名['属性名'];中括号里面的属性必须要加引号
对象里面的方法调用:对象名.方法名();方法名后一定要加括号
(2)利用newObject来创建对象
a、构造函数:是一种特殊的函数,主要用来初始化对象,为对象成员变量赋予初值,我们可以将对象中的一些公关的属性和方法抽取出来,封装到这个函数中
b、构造函数创建对象的过程
new构造函数可以在内存中创建一个空的对象;
this会指向刚才创建的空对象(那个对象在调用构造函数,this就指向这个对象);
执行构造函数的代码给这个空对象添加属性和方法;
返回这个对象(构造函数不需要return);
7、构造函数和对象的关系
(1)构造函数:抽象了对象的公共部分,封装到函数里面,它泛指的是某一大类
(2)创建对象:特指某一个具体的对象,通过new关键字来创建对象的过程,我们也称为对象的实例化
二、今日问题
无
三、解决方法
无
|