我正在尝试使用 java 对 xpl 语言进行词法分析并发现
String.prototype.tokenize = tokenize;
但无法弄清楚这行代码是做什么的!
我正在尝试使用 java 对 xpl 语言进行词法分析并发现
String.prototype.tokenize = tokenize;
但无法弄清楚这行代码是做什么的!
它在对象中的覆盖/创建tokenize方法。String
例如,现在字符串将具有方法tokenize:
alert('hello world'.tokenize());
在MDN阅读有关原型的更多信息。
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'