站点介绍
标签 前端 下的文章
一名小码农的日常,学习&生活
发布于2024-07-04
Javascript中的原型概念以及原型链是什么?
在Javascript中,原型`Prototype`是每个Javascript对象都具有的一个内部属性,这个属性是一个指向另一个对象的引用,这个对象被称之为“原型对象”。
函数的prototype
这里我们引入一个新概念,**所有的函数都有一个prototype属性**
原型和原型链的作用是什么?
Javascript是一门支持多范式的编程语言,一方面它支持函数式编程来开发,同时也支持面向对象的形式开发。而继承是面向对象的一大特性。
什么是原型链?
我们来思考一个问题,如果一个对象A有一个`__proto__属性`指向一个对象B,那么我们指向的对象B也是一个对象,是不是也应该有一个`__proto__属性`呢?
认识Javascript对象的原型
Javascript当中每个对象都有一个特殊的内置属性[[prototype]],这个特殊的属性可以指向另外一个对象。那么指向这个对象有什么用呢?为什么Javascript要偷偷设计这样一个属性?
var、let和const用于变量声明,他们之间有何区别?
在JavaScript中,var,let和const都是用于声明变量的关键字。但是他们在作用域,变量提升`hoisting`,以及是否允许重新赋值和重新声明方向有很多的不同。
JavaScript在执行过程证产生的AO,GO,VO,LE,VE,ER都是什么对象?
在JavaScript的执行过程中,AO,GO,VO,LE,VE,ER这些术语分别代表特定的对象或者记录类型,他们在执行上下文中都起着不同的作用,下面是对这些术语的解释
什么是执行上下文,它如何影响JavaScript代码执行?
执行上下文`Execution Context`是JavaScript执行过程最重要的概念之一。他指的是在代码执行时,JavaScript引擎所创建的一种环境。
Node.js中微任务和宏任务调度的先后顺序是怎么样的?
在我们Node.js中的事件循环到底是怎么设置的,微任务和宏任务队列的先后执行顺序是怎样的?
闭包是什么?它在JavaScript中的用途是什么?
闭包的定义是,在一个函数和函数的外层作用域环境就形成了闭包`closeure`。所以在JavaScript中,每当创建一个函数,闭包就会在函数创建的同时被创建出来,只不过我们要看要不要要对其再进行严格的定义。
异步编程方案四-《await/async》
其实我们现在已经不是必须使用`Generator`来实现异步代码编写成同步代码的结构了
什么是作用域链以及作用域链在JavaScript中的作用是什么?
作用域链`Scope Chain`是JavaScript中的一个基本概念,它属于确定当前执行代码的上下文变量的查找和访问机制。
如何定义'作用域'?说明不同类型的作用域
作用域`Scope`是编程中一个非常重要的概念,它描述在代码中定义变量的区域,这个区域决定了变量的可访问性和生命周期。
变量提升机制有哪些潜在的缺点,它可能导致哪些具体问题?
虽然变量提升`Hoisting`为JavaScript提供了某种编码上的灵活性,但它也带来一些潜在的危险,可能导致代码运行时不确定性和潜在的错误。
什么是变量提升`Hoisting`?为啥Javascript语言中存在变量提升机制?
变量提升`Hoisting`是Javascript中的一个行为,它使得函数声明和变量声明`使用var关键字声明的变量`在代码执行前被提前到其作用域的顶部。