我很好奇在javascript中引用"全局"命名空间时最佳实践是什么,这只是window对象的快捷方式(反之亦然,取决于你如何看待它).
我想知道是否:
var answer = Math.floor(value);
Run Code Online (Sandbox Code Playgroud)
是好还是坏:
var answer = window.Math.floor(value);
Run Code Online (Sandbox Code Playgroud)
性能,资源使用或兼容性是更好还是更差,甚至是轻微的?
是否有更轻微的成本?(像额外的指针或东西)
编辑注释:虽然在大多数情况下我对性能纳粹的可读性,但在这种情况下,我忽略了可读性的差异,只关注性能.
我知道这个问题标题看起来很可怕,但事实并非如此.抱歉!
那么,创建一次性/不可更改的"变量"有什么意义呢?
假设我在Person对象中有一个名为"name"的属性.
const Person = {
name: 'Luis Felipe Zaguini'
};
Run Code Online (Sandbox Code Playgroud)
好的.所以,看到人们这样做是非常普遍的:
let personName = Person.name;
console.log(`I've written my name, and it is ${personName}.`);
Run Code Online (Sandbox Code Playgroud)
就是这样.在大多数情况下,变量只使用一次.或者,有时,它在其他语句中被引用,但是你知道,它是无用的,因为有一种方法可以在不设置新变量的情况下引用它.
从技术上讲,你浪费CPU内存,为无用的东西分配内存,因为事实上,你可以Person.name多次输入,并执行以下操作:
console.log(`I've written my name, and it is ${Person.name}.`);
Run Code Online (Sandbox Code Playgroud)
此外,您正在浪费时间并在代码中添加更多行.我是否过度了?很多程序员都会做这种事情,但就个人而言,它似乎并不适合我.