【问题标题】:Why variable "name" is typed as string? [duplicate]为什么变量“name”被输入为字符串? [复制]
【发布时间】:2019-06-07 09:38:36
【问题描述】:

我不是 javascript 新手,但我完全不理解这种行为。

为什么一个名为“name”的变量只输入为字符串?它是一个新的 ES6 特性??

var name = 56;
console.log(name, typeof name);
name = function(){console.log("ok");}
console.log(name, typeof name);

【问题讨论】:

标签: javascript


【解决方案1】:

name 是全局对象window 的属性,不能替换。

但你可以delete然后再定义

delete window.name;

window.name = ()=>{console.log('ok')}

但我不建议更改全局属性。

在节点环境中一切正常:

【讨论】:

  • 可以,可以替换delete window.name; var name = function(){}; console.log(typeof name);
  • 我们可以替换它,我们不能只是改变类型
  • 这是一个有助于理解为什么 window.name 始终是字符串 Browsing context name 的有用链接
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-04
  • 2011-01-13
  • 1970-01-01
  • 2013-02-18
  • 2015-03-17
  • 1970-01-01
  • 2017-01-13
相关资源
最近更新 更多