回顾:
函数变量作用域的问题:
1.函数体内声明的变量:
var a=45;
function fn(){
console,log(a)
var a=12;
}
fn()
2.参数中的变量:
没有赋值 function fn(a){}
赋值的值不是变量 function (a=45){}
赋值且值也是变量 function fn(a=m){}
函数执行的时候,先给形参赋值,形参也是私有变量,如果形参赋的值也是变量,
先看这个变量是不是私有变量(不是针对函数体内的,只针对形参,还跟形参的顺序有关),
如果不是私有的找全局,没有全局就报错;
特例:给形参赋的变量与形参同名;
-----------------------------------------------------------------------------------------------------------------
Class
1.在class类上添加的属性都是在原型prototype上添加的
4.类中的this指向实例对象
6.每个构造方法都会默认返回实例对象this,如果人为改变return的返回值,返回
基本数据类型(字符串,数字,布尔,null,undefined),不会改变return的this;
如果返回引用数据类型obj arr等,return this就会失效,变成那你返回的结果;
7.
8.Extends 继承
子类继承父类,使用extends关键字
充当函数时,只能在子类的构造函数中使用,且必须放在第一行使用,指向父类的构造函数,只有super调用之后,子类才可以使用this关键字,指向子类的实例对象。
充当对象时,放在普通函数中,super指向父类的原型prototype
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。