热门课程

免费试听

上课方式

开班时间

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

如何实现继承(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) })()


大家都在看

知了堂网络安全培训|2021年做网络安全是否好就...

2021-05-31 浏览次数:0

信息安全与网络安全实践的差异性

2021-05-31 浏览次数:0

哪几种人,不建议转行做程序员?转行之前必看

2021-05-31 浏览次数:0

java应用开发培训学校

2021-05-31 浏览次数:0

2023校招领跑计划——高校春令营正在招募,助力...

2021-05-31 浏览次数:0

什么是node.js?node.js能干什么

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