小编Fin*_*ire的帖子

关于Javascript中的replace()或substr()的性能

我想知道有关使用string.replace()或string.substr()的Javascript性能.让我解释一下我在做什么.

我有一个字符串

str = "a.aa.a.aa."
Run Code Online (Sandbox Code Playgroud)

我只需要在str中"弹出"最后一个元素,我总是知道它是什么类型的角色(例如,这里是一个点).

这很简单,我可以遵循很多方法,比如

str = str.substr(0, str.length-1) // same as using slice()
Run Code Online (Sandbox Code Playgroud)

要么

str = str.replace(/\.$/, '')
Run Code Online (Sandbox Code Playgroud)

你会用哪种方法?为什么?使用这种或那种方法是否有一些性能不足?字符串的长度可以忽略不计.

(这是我的第一篇文章,所以如果我做错了,请通知我!)

javascript regex replace substr slice

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

Javascript中的"for..in"产生"未定义"值

我正在研究Chrome的扩展程序,我只是想知道Javascript中"for..in"的用法.让我通过一个例子解释我发现的问题:

假设我有一个类型的volatile对象{prop1: "foo", prop2: "bar", ...}.我想用一些语法将这个对象保存在字符串中,例如"prop1=foo;prop2=bar;...".这是我使用的代码:

var fun = function(data) {
  var str = "";
  for (var i in data) {
    str += i + "=" + data[i] + ";";
  }
  return str;
};
log(fun({x:1, y:2}));
Run Code Online (Sandbox Code Playgroud)

fun将返回以下字符串:undefinedx=1;y=2;.

我真的不明白为什么它会遵循这种行为.我知道我可以使用JSON来"字符串化"这样的东西,但实际上我只是想了解它为什么会发生.

javascript undefined for-in-loop

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

标签 统计

javascript ×2

for-in-loop ×1

regex ×1

replace ×1

slice ×1

substr ×1

undefined ×1