Javascript 严格模式下不允许使用八进制文字

Javascript 严格模式下不允许使用八进制文字,javascript,css,angular,Javascript,Css,Angular,我用的是Angular 2 当我在SCSS文件中使用它时,它工作得很好 .text::after { content: "\00a0\00a0"; } 然而,当我搬进去的时候 styles: [``] 它表明: 未捕获的语法错误:严格模式下不允许使用八进制文字 我知道样式中的代码:[``]需要是CSS代码 我试过了 styles: [` .text::after { content: "  "; } `] 但随后屏幕会直接

我用的是Angular 2

当我在SCSS文件中使用它时,它工作得很好

.text::after {
  content: "\00a0\00a0";
}
然而,当我搬进去的时候

styles: [``]
它表明:

未捕获的语法错误:严格模式下不允许使用八进制文字

我知道
样式中的代码:[``]
需要是CSS代码

我试过了

styles: [`
    .text::after {
      content: "  ";
    }
`]
但随后屏幕会直接显示
。我如何才能正确地书写它?

你需要逃避它

.text::after {
  content: "\\00a0\\00a0";  // now it's just a simple plain string
}

是JavaScript 1.8.5(ECMAScript版本5)中引入的一项新功能

其中,

  • 不允许使用八进制数字文字
  • 不允许使用转义字符

或者您可以在
\
之前添加
u
(unicode)

.text::after{
内容:“\u00a0\u00a0”
}

值\00a0有问题,因为它不是八进制数(八进制字符为0-7),但它是一个十六进制数,所以请使用以下方法:

.text::after {
  content: "\x00a0\x00a0";
}

W3schools因虚假信息和不良做法而臭名昭著,请链接到Mozilla MDN