作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
考虑这个 JavaScript 片段:
var a = document.createElement("a");
a.style.display = "none";
IntelliJ IDEA 2016.2 突出显示 a.style.display
并给出以下提示:
Value assigned to primitive will be lost
Checks for improper usage of wrappers for JavaScript primitive types. Also, warning will be produced when property of primitive type is modified, as assigned value will be lost
CSSStyleDeclaration
不是基本类型,因此对 display
的赋值不会丢失。
String
是包装器类型。我如何(不正确地)使用它?
该代码似乎在 Chrome 和 Edge 中运行良好。怎么回事?
最佳答案
您的代码没有任何不当之处,IntelliJ 的类型推断有点困惑(JavaScript 的这一方面尤其令人困惑)。
它的 linter 看到一个字符串并假设你会尝试这样的事情:
var primitive = "september";
primitive.vowels = 3;
primitive.vowels;
// => undefined
这会导致“丢失”值(value)。
要进一步了解 JavaScript 的这个奇怪部分,我推荐 Angus Croll 的优秀深度文章 here .
关于javascript - a.style.display : Value assigned to primitive will be lost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38463552/
我是一名优秀的程序员,十分优秀!