更新:
問題は、あなたの引数は(すべて小文字)string
と呼ばれているということですが、あなたはそれを分割しようとしているときに(初期資本金)String
を使用しています。 JavaScriptは大文字と小文字を区別する言語で、string !== String
です。
ので、この変更:
var words = string.split(new RegExp(/[\-\s]/)),
// ^--- lower case s
オリジナルの答え:これに
var words = String.split(new RegExp(/[\-\s]/)),
を
split
はのインスタンスで、String.prototype
(事実上の関数であります文字列)、ではなく自体(コンストラクタ関数)。だから、
:
var words = "some words and hyphenated-words here".split(/[\-\s]/);
console.log(words); // ["some", "words", "and", "hyphenated", "words", "here"]
サイドノート:あなたは、古いバグ問題内の周囲で作業している場合を除きnew RegExp(...)
で正規表現リテラル(/[\-\s]/
)をラップする必要はありません。グローバルフラグに関するいくつかの実装と、関数呼び出しの間にローカルリテラルのキャッシング/再利用がありますが、それにはg
フラグを使用しないため、split
には関係ありません。
あなたは 'STRING'という変数を持っていますかあなたがしようとしています'String'オブジェクトにアクセスしますか? –
あなたは何をしようとしていますか?代わりに特定の文字列を分割したくないのですか? Firefoxの出力はあまり役に立ちません。 – pimvdb
Stringオブジェクトにアクセスしようとしています – antonjs