protected JsInstance EncodeURIComponent(JsInstance[] arguments)
{
if (arguments.Length < 1 || arguments[0] == JsUndefined.Instance) {
return this.StringClass.New();
}
string encoded = Uri.EscapeDataString(arguments[0].ToString());
foreach (char c in reservedEncodedComponent) {
encoded = encoded.Replace(Uri.EscapeDataString(c.ToString()), c.ToString());
}
return this.StringClass.New(encoded.ToUpper());
}