1

我正在尝试使用 java 对 xpl 语言进行词法分析并发现

String.prototype.tokenize = tokenize; 

但无法弄清楚这行代码是做什么的!

4

2 回答 2

2

它在对象中的覆盖/创建tokenize方法。String

例如,现在字符串将具有方法tokenize

alert('hello world'.tokenize());

在MDN阅读有关原型的更多信息。

于 2012-05-17T10:15:25.567 回答
0

String.prototype.tokenize = tokenize意思是:将方法添加tokenize到对象prototype的。String这称为扩充扩展原型。

假设tokenize看起来像这样:

function tokenize(someToken){
  return this.replace(RegExp('%0','g'),someToken || '');
}

现在String.prototype.tokenize = tokenize可以这样使用:

var str = 'hello %0'.tokenize('world'); //=> 'hello world'
//or
var str = String.protoptype.tokenize.call('hello %0','world'); //=> 'hello world'
于 2012-05-17T11:00:40.447 回答