Javascript split()无效!完全难倒

时间:2014-03-25 05:59:24

标签: javascript arrays string split console.log

filename = "file_1";
name = filename.split('_');
test1 = name[0];
test2 = name[1];
console.log(test1);
console.log(test2);

预期结果:

file
1

实际结果:

f
i

http://jsfiddle.net/j667q/1/

我一定是做错了什么,但不能为我的生活做出什么。

我试过了:

  • 使用不同的引号'和“
  • 使用前定义文件名和名称(filename =''; name = [];)
  • 使用其他字符(' - ')
  • 分割

6 个答案:

答案 0 :(得分:3)

首先定义数组变量:

var name = [];

DEMO http://jsfiddle.net/j667q/5/

为什么会这样?

根据评论更新更多说明:

虽然name不是保留字,但它是window的全局属性(例如window.namename意味着相同),{{1将定义一个名为var name;的新变量,该变量位于另一个范围内,避免冲突。

JavaScript保留字:http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Reserved_Words

答案 1 :(得分:2)

问题是,与全局冲突有关全局对象有一个名为name的属性,并且与您的代码存在某种冲突。

将其重命名为http://jsfiddle.net/j667q/3/

如果您不想重命名,可以var name = ...split...

是的,还要注意,你应该总是var声明变量没有理由不这样做,如果你想要一个全局属性做window.someName = something;

答案 2 :(得分:0)

name是js全局属性。所以尽量不要使用它。希望有所帮助

答案 3 :(得分:0)

将变量声明为var以正确定位它们

var filename = "file_1";
var names = filename.split('_');
test1 = name[0];
test2 = name[1];
console.log(test1);
console.log(test2);

答案 4 :(得分:0)

你必须声明这两个变量。

var filename = "file_1";
var name = filename.split('_');

查看更新的 JSFIDDLE http://jsfiddle.net/prakashcbe/j667q/17/

答案 5 :(得分:0)

试试这个...... 其他答案都是正确的。我不知道你的错误。无论如何,试试这个

[http://jsfiddle.net/puvanarajan/Nytgh/] [1]