
JavaScript
爱敲代码的胖大泳
这个作者很懒,什么都没留下…
展开
-
JS面试题——实现new方法
new的实现原理• 以构造器的prototype属性为原型,创建新对象;• 将this(也就是上一句中的新对象)和调用参数传给构造器,执行;• 如果构造器没有手动返回对象,则返回第一步创建的新对象,如果有,则舍弃掉第一步创建的新对象,返回手动return的对象。实现new方法定义一个构造器函数// 构造器函数let Parent = function(name, age) { this.name = name; this.age = age;};Parent.proto原创 2020-07-24 19:04:00 · 680 阅读 · 0 评论 -
JavaScript面试题——作用域
作用域定义:作用域负责收集并维护由所有声明的标识符(变量)组成的一系列查询,并实施一套非常严格的规则,确定当前执行的代码对这些标识符的 访问权限。通俗来说,作用域相当于一个管理员(有自己的一套规则),他负责管理所有声明的标识符的有序查询。词法作用域 VS 动态作用域大部分标准语言编译器的第一个工作阶段叫作词法化(也叫单词化)。词法作用域就是定义在词法阶段的作用域。换句话说,词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的,作用域链...原创 2020-07-06 10:06:53 · 448 阅读 · 0 评论 -
JavaScript内部如何运行???
JS内部运行步骤编译阶段词法分析由字符组成的字符串分解成(对编程语言来说)有意义的代码块,这些代码块被称为词法单元(token)。语法分析将词法单元(token)转换成一个由元素逐级嵌套所组成的代表了程序语法结构的树。这个树被称为“抽象语法树”(Abstract Syntax Tree,AST)。生成可执行代码将 抽象语法树(AST) 转换为可执行代码的过程称被称为代码生成。执行阶段创建一个全局对象(Global Object)创建一个执行环境栈(Execution Context转载 2020-07-05 12:34:18 · 242 阅读 · 0 评论 -
JavaScript面试题——函数和方法的区别
函数和方法的区别函数是可以执行的javascript代码块通过名字调用它能将数据(函数的参数)传递进去进行处理,然后返回数据(函数的返回值),也可以不返回数据。方法是特殊的函数通过对象调用this在函数调用和方法调用中的区别var o = { m:function () { function n() { return this; } console.log原创 2020-06-29 18:23:04 · 1194 阅读 · 0 评论