实例演示作用域与闭包; 2. 实例演示类与类的继承
- 作用域
1). 全局作用域,默认的,不可删除,如果在是浏览器中运行js,那么全局对象就是window
let site = “google”;
console.log(site);
console.log(window.site);
2). 函数作用域, 仅限在当前作用域内访问, 外部不可见,否则会报错。
作用域链, 自身查找,如果没有就返回上一级
function getSite() {
let domain = google.com
return `${site} [${domain}];
console.log(getSite());
3). 块作用域,包在大括号里的语句就是块
{var a = 1;
var B = 2;}
console.log(a, B);
闭包
所有函数都是闭包
能够访问自由变量的函数
在函数A内部有个函数B,函数B可以访问函数A中的变量,函数B就是闭包
通过闭包来访问内部的私有变量
function sum(a, b) {
return a + b + c;
}
console.log(sum(4, 5));
function Hello() {
let email = “abc@abc.com”;
return function d(){
return email;
},
};
console.log(Hello());类与类的继承
类和构造器constructor
constructor是类的构造函数 用与传递参数 返回实例对象,通过new生成实例时自动调用该方法.<script>
function User(name, email) {
this.name = name;
this.email = email;
this.show = function () {
return { name: this.name, email: this.email };
};
}
const user = new User(“Peter”, “abc@abc.com”);
console.log(user);
</script>
类是一个模板
原型共享方法,通过对象来调用
<script>
class User1 {
constructor(name, email) {
this.name = name;
this.email = email;
}
show() {
return { name: this.name, email: this.email };
}
}
const user1 = new User1(“Bill”, “ab@ab.com”);
console.log(user1);
console.log(user1.show());
</script>
继承,是对父类进行一些扩展,添加一些新的属性或方法
class Child extends User1 constructor(name, email, gender) {
super(name, email);
this.gender = gender;
}
show() {
return { name: this.name, email: this.email, gender: this.gender };
}
}
const child = new Child(“Bob”, “oy@qq.com”, “male”);
console.log(child.show());
更多相关文章
- 0708作业 赋值和字面量简化 函数
- javascript_0707作业
- 对于模板字面量与标签函数、解构赋值于对象字面量的简化方式的理
- 变量,常量,数据类型,实例演示+函数参数与返回值+匿名函数及箭头
- 变量,常量,数据类型, 函数
- JS常用函数及分支与循环
- 属性访问器与常用节点操作函数
- js中常用的字符串函数、数组函数、分支与循环的理解
- 模板字面量标签函数和解构赋值与对象字面量简化写法作业