小编SBU*_*OLD的帖子

如何使用JSON文字字符串?

由于JSON格式指定不应对单引号进行转义,因此如果您在其中包含转义单引号,则大多数库(甚至本机JSON解析器)都将失败.现在这通常不是问题,因为大多数时候你做一个XHR来获取一些格式化为JSON的数据,你使用包含你可以解析的JSON字符串的responseText等.

在这种特殊情况下,我有一个JSON字符串存储在数据库中作为文本...所以数据库包含类似的东西{"property":"value"},我想将其作为服务器创建的HTML页面的一部分输出,以便该页面中的JavaScript代码看起来这样的事情:

var x = '{"property":"value"}';
Run Code Online (Sandbox Code Playgroud)

现在,如果数据库中的JSON字符串包含如下所示的单引号:

{"property":"val'ue"}
Run Code Online (Sandbox Code Playgroud)

然后我需要逃避它,否则我将永远无法将其用作字符串:

console.clear();
var obj = {prop:"val'ue"};
var str = JSON.stringify(obj);
console.log("JSON string is %s",str);
console.dir(JSON.parse(str)); //No problem here


//This obviously can't work since the string is closed and it causes an invalid script
//console.dir(JSON.parse('{prop:"val'ue"}'));

//so I need to escape it to use a literal JSON string
console.dir(JSON.parse('{"prop":"val\'ue"}'));
Run Code Online (Sandbox Code Playgroud)

那么问题是为什么{"prop":"val\'ue"}不考虑有效的JSON字符串?

javascript json

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

为什么JSLint在这行代码中返回'bad escapement'?

为什么JSLint在以下JavaScript行上返回"Bad escapement"?

param = param.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
Run Code Online (Sandbox Code Playgroud)

从JSLint文档我认为这可以,因为正则表达式文字前面有一个括号:

正则表达式用简洁而神秘的表示法编写.JSLint查找可能导致可移植性问题的问题.它还尝试通过推荐显式擒纵来解决视觉模糊.

JavaScript的正则表达式文字的语法会重载/字符.为避免歧义,JSLint期望正则表达式文字前面的字符是(或=或:或字符).

javascript regex jslint

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

如何在JSDoc中记录事件处理程序?

假设我有一个这样的类:

function myClass(q) {
  this.someFunction = function(e) {
      console.log("Click event");
  };

  jQuery(q).click(this.someFunction);
}
Run Code Online (Sandbox Code Playgroud)

有没有办法向JSDoc表明someFunction不仅仅是一个应该直接调用的函数,而是一个事件处理程序?

我看到了@event标签,但是如果我理解正确的话,这更多的是记录我的类中的一个函数,我认为它是一个事件(客户端代码也将注册,我的类将在需要时触发)而不是事件处理程序功能?

javascript documentation jsdoc

5
推荐指数
2
解决办法
5195
查看次数

暗示UI的故事和场景

我正在尝试学习如何在开发过程中使用BDD,有时我最终会编写暗示UI设计的内容,因此对于全新的开发或新功能,UI并不总是存在.

例如,如果我在"单击列标题时"场景中这样说,则表示此功能基于某种表格或网格,但此时我们仍然只是编写用户故事,因此没有UI然而.

让我感到困惑的是,我知道在这个过程的哪个阶段我们想出了一个UI设计?

请记住,我只阅读有关BDD的文章,我认为这对我们的团队有很大帮助,但对此仍然很新!谢谢!

bdd user-interface user-stories

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