本文整理汇总了C#中JSObject.CloneImpl方法的典型用法代码示例。如果您正苦于以下问题:C# JSObject.CloneImpl方法的具体用法?C# JSObject.CloneImpl怎么用?C# JSObject.CloneImpl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JSObject
的用法示例。
在下文中一共展示了JSObject.CloneImpl方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: exec
public JSObject exec(JSObject arg)
{
if (this.GetType() != typeof(RegExp))
throw new JSException(new TypeError("Try to call RegExp.exec on not RegExp object."));
string input = (arg ?? "undefined").ToString();
lIndex = Tools.JSObjectToNumber(lastIndex);
if ((lIndex.attributes & JSObjectAttributesInternal.SystemObject) != 0)
lIndex = lIndex.CloneImpl();
if (lIndex.valueType == JSObjectType.Double)
{
lIndex.valueType = JSObjectType.Int;
lIndex.iValue = (int)lIndex.dValue;
}
if (lIndex.iValue < 0)
lIndex.iValue = 0;
if (lIndex.iValue >= input.Length && input.Length > 0)
{
lIndex.iValue = 0;
return Null;
}
var m = regEx.Match(input, lIndex.iValue);
if (!m.Success)
{
lIndex.iValue = 0;
return Null;
}
var res = new Array(m.Groups.Count);
for (int i = 0; i < m.Groups.Count; i++)
res.data[i] = m.Groups[i].Success ? (JSObject)m.Groups[i].Value : null;
if (_global)
lIndex.iValue = m.Index + m.Length;
res.DefineMember("index").Assign(m.Index);
res.DefineMember("input").Assign(input);
return res;
}