小编ood*_*vid的帖子

我可以使用空字符串作为对象标识符吗?

我一直在修补对象,看起来你可以将'(一个空字符串)作为属性名称,如下所示:

o = {
    '':    'hello',
    1:     'world',
    'abc': ':-)',
};
console.log(o['']);
Run Code Online (Sandbox Code Playgroud)

似乎工作得很好,但我很想知道,这真的有效吗?我已经戳了ECMA的规格,并问我们知识渊博的朋友谷歌的问题变化,我的结论是我不知道.

我的消息来源

http://www.jibbering.com/faq/faq_notes/square_brackets.html

javascript json

32
推荐指数
2
解决办法
7165
查看次数

为什么NaN!=未定义?

根据Mozilla文档:

在数值上下文中使用时,未定义的值将转换为NaN.

那么为什么以下两个都等于真呢?:

NaN != undefined
NaN !== undefined
Run Code Online (Sandbox Code Playgroud)

我可以理解,Nan !== undefined因为变量类型会有所不同......

javascript variables

6
推荐指数
1
解决办法
9809
查看次数

为什么我不能组合伪元素选择器?

当组合伪元素选择器(用于范围输入)时,我看到没有应用样式。这迫使我分离我的选择器并复制我的 CSS。

有谁知道为什么会发生这种怪癖?

/* Keeping the selectors separate works */
.range1 {
  -webkit-appearance: none;
    -moz-appearance: none;
          appearance: none;
}
.range1::-webkit-slider-runnable-track {
  height: 6px;
  border-radius: 3px;
  border: 1px solid black;
}
.range1::-moz-range-track {
  height: 6px;
  border-radius: 3px;
  border: 1px solid black;
}

/* Combining the selectors fails */
.range2 {
  -webkit-appearance: none;
    -moz-appearance: none;
          appearance: none;
}
.range2::-webkit-slider-runnable-track,
.range2::-moz-range-track {
  height: 6px;
  border-radius: 3px;
  border: 1px solid black;
}
Run Code Online (Sandbox Code Playgroud)

代码笔示例。

截屏

css css-selectors pseudo-element

4
推荐指数
1
解决办法
312
查看次数