热门课程

免费试听

上课方式

开班时间

当前位置: 首页 -   文章 -   根域文章 -   正文

如何实现继承(ES5/ES6)及什么是作用域以及作用域链

zhiliaoadmin
2021-05-31 09:47:16
0

1. 如何实现继承(ES5/ES6)?

答: 10 function Anima(name){ //父类 11 this.name = name; 12 } 1314 Anima.prototype.sayName = function(){ 15 console.log(this.name) 16 } 1718 function Person(name,age){ //子类 19 Anima.call(this,name); 20 this.age = age; 21 } 2223 Person.prototype = Object.create(Anima.prototype, { 24 constructor: { 25 value: Person, 26 enumerable: false 27 } 28 }) 293031 var p = new Persion("haha",12); 3233 Extends //ES6

2. 什么是作用域以及作用域链? 

答:作用域是指程序源代码中定义变量的区域,限定一个变量可访问范围的,作用域的本质是对 象。JS 采用的词法作用域,在书写代码的时候(定义函数的时候),作用域就已经确定好了。 在 ES6 环境下,包含 3 个作用域,全局 globel,函数作用域,快级作用域( {} ) (eval) 作用域链:当查找变量的时候,会先从当前上下文的变量对象中查找,如果没有找到,就会 从父级(词法层面上的父级)执行上下文的变量对象中查找,一直找到全局上下文的变量对象,也就是 全局对象。这样由多个执行上下文的变量对象构成的链表就叫做作用域链。 用途是保证对执行环 境有权访问的所有变量和函数的有序访问。本质为执行上下文的 scope 属性,存储所有的变量,包 括局部与全局,控制变量的使用顺序。

{xunruicms_img_title}

var b = 10; //1:输出?2:改造代码输出 10 20 (function b(){ b = 20; console.log(b); })(); 

var b = 10; (function b(b) { 在这个函数 b 是一个常量,在函数 b 内部是可以使用的,但是不能修改,如果加上 use strict 严格模式就会报错。 window.b = 20; console.log(b) //输出 10 })(b)

var a = 10; (function () { console.log(a) a = 5 console.log(window.a) var a = 20; console.log(a) })()


大家都在看

java的工厂模式是什么

2021-05-31 浏览次数:0

寒假期间,计算机专业的同学该怎么安排?

2021-05-31 浏览次数:0

数字营销第一课开讲,顺势而为,跻身新赛道

2021-05-31 浏览次数:0

数据中心的定义与分类

2021-05-31 浏览次数:0

IDC机房物理设备与环境安全管理

2021-05-31 浏览次数:0

智能制造标准体系框架

2021-05-31 浏览次数:0
最新资讯