简单解释7个主要JavaScript概念( 二 )

或者,如果您真的想使承诺部分明确:
async function doSomething(){//do something there.return Promise.resolve('woot!');}doSomething().then(function(result){ console.log(result);});6.代理将其视为对象的附加扩展 。可以针对已存在的事物创建自定义行为 。
在某种程度上,它还充当原始对象和其他功能之间的中介 。
是 。代理可以更改和处理数据 。
是 。除其他事项外,它通常用作验证检查器 。
它是如何工作的?
代理包含三个部分-处理程序,陷阱(即方法)和目标 。
有13个可用于代理的陷阱 。您需要对它们进行google搜索,因为这超出了本文的范围 。
这是一个已实施陷阱的代理示例:
let handler = {get: function(theObjectPassed, theObjectName){//some checking logicconsole.log(theObjectPassed, theObjectName);return 'all done' ; }}let someObject = { a: 1, b: 2};let valueName = new Proxy(someObject, handler);console.log(valueName.someObject);代理的功能远不止于此,但是示例只是一个起点 。
7.垃圾收集一切都占用内存 。初始化变量后,将为其分配一点空间 。
内存仅在调用时初始化 。因此,当一个函数运行并且内部有变量时,它的存在只会持续到该函数需要它的时间 。它不会停留在周围 。
垃圾收集是清除内存的方式 。
内存泄漏是指由于在全局空间中声明了变量而没有进行垃圾回收的情况,这会造成污染并占用不必要的空间 。
这太多了,您的应用程序可能会变慢 。
因此,请尽可能保留变量,并使用null取消初始化不需要的内容
(本文翻译自Aphinya Dechalert的文章《7 Major JavaScript Concepts Explained Simply》,参考:https://medium.com/javascript-in-plain-english/7-major-javascript-concepts-explained-simply-45b0f3336f28)




推荐阅读