小编Tob*_*oby的帖子

在JavaScript对象中使用'this'关键字

我喜欢认为我理解JavaScript,但今天我发现了一些意想不到的东西,我希望有人可以向我解释它为什么会发生.

拿这个代码

var animalData = {
                  cow:"cow",
                  sheep:"sheep",
                  getCow:function()
                  {
                    return this.cow;
                  },
                  animalList:[
                          {
                            animalId:this.cow,
                            label:"This is a cow"
                          },
                          {
                            animalId:this.sheep,
                            label:"This is a sheep"
                          }
                       ]
          };

console.log(animalData.getCow());
console.log(JSON.stringify(animalData.animalList,null," "))
Run Code Online (Sandbox Code Playgroud)

输出不是我所期望的.按照您的预期调用animalData.getCow()结果"cow".但console.log这是让我感到困惑的第二个回报.

[
 {
  "label": "This is a cow"
 },
 {
  "label": "This is a sheep"
 }
]
Run Code Online (Sandbox Code Playgroud)

换句话说,该对象animalId完全从定义的对象中删除属性.我在期待这个

[
 {
  "animalId":"cow",
  "label": "This is a cow"
 },
 {
   "animalId":"sheep",
  "label": "This is a sheep"
 }
]
Run Code Online (Sandbox Code Playgroud)

我也许能理解这一点

[
 { …
Run Code Online (Sandbox Code Playgroud)

javascript

9
推荐指数
1
解决办法
89
查看次数

Javascript Regex - 仅捕获非转义模式

给出Javascript中的字符串

{include} {花括号}中的任何内容,但不会像{this}那样进行转义,并且适用于{brace}的任何位置

我想要检索

  • 包括
  • 大括号
  • 支撑

我一直试图找到一种方法,但没有看后面我很难过.

最重要的是不要获取转义的{}内容.如果有必要的话,我可以选择包括比赛中的大括号的东西.

不幸的是,到目前为止我所做的只是一个这样的表达

(?:[^//]){.*?}
Run Code Online (Sandbox Code Playgroud)

但如果{位于目标文本的开头,则不匹配.

谁能帮我?谢谢.

javascript regex lookbehind

2
推荐指数
1
解决办法
87
查看次数

标签 统计

javascript ×2

lookbehind ×1

regex ×1