简单解释7个主要JavaScript概念


简单解释7个主要JavaScript概念

文章插图
> Work Hard by Uran
 
术语的目的是将一个特定的想法封装成一个优美而紧凑的词 。但是,如果您不了解单词的含义,就会失去意义 。
在开发人员世界中,更高级的主题通常是遥不可及的,并且常常使新开发者望而却步 。部分原因是因为他们好像在读一本外国小说 。字母和单词可能看起来很熟悉,但是没有意义 。
而且很难理解所有内容,尤其是如果您必须不断停下第二个单词来弄清楚句子试图告诉您的内容时 。
在本文中,我决定编译我经常发现自己会为新开发人员翻译的前7个概念 。我希望您发现他们对成为更好的开发人员有用 。
本文的重点是作为思想的参考/摘要,以帮助您尽快着手解决问题 。每个术语本身都是一个主题,但出于篇幅和易读性的目的,我将其尽可能地简化为核心思想 。
本书内容远不止这些,但总的来说,它抓住了每个单词试图传达的实质 。
希望您发现它们有用 。
感谢您的阅读!
1.不变性数据形状不变时 。
因此,如果您有一个进入函数的对象,则它以完全相同的形式从它中出来 。附加到它的数据可以更改,但参数的数量,名称和顺序不能更改 。
例如,这是一个突变:
function changeMe(someObject){someObject.age = 3;return someObject; }let exampleOne = {"cat": "Tibbers" };console.log(changeMe(exampleOne));该函数更改对象的形状,这意味着它是可变的 。
2.陈述式无论您按什么顺序进行操作,基本规则都可以确保您每次都能获得相同且正确的结果 。
例如,该数学方程式遵循声明性方法 。
(2 x 5) + 8 - 3 = 15
因此,如果您移动顺序,您仍将获得相同的结果 。
- 3 + (2 x 5) + 8 = 158 - 3 + (2 x 5) = 15
【简单解释7个主要JavaScript概念】在JAVAScript编程中,声明性模式是函数的顺序与最终结果的构造无关紧要的地方 。您可以按任何顺序调用它们 。顺序无关紧要 。
3.递归当函数继续调用自身直到满足特定条件时 。
不,这不是for循环 。听起来可能是这样,但事实并非如此 。
for循环是JavaScript的条件方法 。递归是一个不断调用自身的完整函数 。
这意味着递归有两个部分-基于特定条件的调用和exit子句 。您的退出子句基本上就是在递归结束时发生的事情 。
这是一个简单的潜在递归:
function sumProfit(sales){if(//condition for ending){return theFinalObjectOrResult;} else {//do something. Reduce the condition.return sumProfit(reducedCondition);} }4.回调回调是在另一个函数执行完毕后才执行的函数 。
我们为什么需要这个? 因为JavaScript是事件驱动的-意味着它不等待响应 。当事情以自给自足的方式运行时,这无关紧要 。
当您开始依赖外部响应(例如API)时,情况就变得很严重 。延迟是您的JavaScript代码发送请求并将其接收回来所花费的时间 。
在JavaScript看来,它已经完成了工作-它已成功执行了代码 。
但是,实际上,您仍在等待回应 。有时,您会通过诺言或延迟计时器迫使代码冷静下来,放松一下,等待片刻 。确认完成后,您可以调用callback()函数 。
无论如何,这是回调的样子:
function waitForMeeeee(someValues, callback){//do something with someValuescallback(); }waitForMeeeee('The answer is 42', function(){alert('all done now'); });您还可以抽象出回调,并使其如下所示:
function waitForMeeeee(someValues, callback){//do something with someValuescallback(); }function allDone(){alert('all done now'); }waitForMeeeee('The answer is 42', allDone);5.异步想想一条直线 。您的JavaScript代码从一端执行到另一端 。但是有时候,您需要暂停一下,只是在您跑到外部来源抢东西的那一刻 。
暂停的时刻是JavaScript的异步部分 。
关键字async还返回隐式的Promise 。
隐式是什么意思? 默认情况下,它返回一个promise 。
什么是诺言? 这是告诉您的代码等待的原因,因为完成某些工作会有所延迟 。例如,您在等待外部API用正确的数据响应 。
为什么这很重要? 因为您可以将then()与异步函数一起使用 。
那么()是什么? 您的回调相当于基于承诺的函数,可让您在承诺完成执行后执行操作 。
看起来像什么? 这是一个例子:
async function doSomething(){//do something there.return 'woot!';}doSomething().then(function(result){ console.log(result);});


推荐阅读