⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 runtime.js

📁 《JavaScript王者归来》examples.rar
💻 JS
📖 第 1 页 / 共 4 页
字号:
				}
				var tmpStrs = code.match(regExps_strings[1]);
				if (tmpStrs != null)
				{
					constStrs = constStrs.concat(tmpStrs);
				}
				for (var i = 0; i < constStrs.length; i++)
				{
					code = code.replace(constStrs[i],
						(strings_tmpPrefix + i + strings_tmpSuffix));
				}
				// remove comments
				code = code.replace(regExps_comments[0], "");
				code = code.replace(regExps_comments[1], "");
				// proc package
				code = code.replace(regExp_package, "$1_$package(\"$5\")");
				var packageName = RegExp.$5;
				// proc import
				code = code.replace(regExp_import, "$1var $7 = _$import(\"$5\")");
				// proc super
				code = code.replace(regExp_super, "$1$class.$super$2");

				if (regExp_class.test(code))
				{
					var className = RegExp.$5;
					var superName = RegExp.$7.replace(/(\s*)extends(\s+)/, "");
					var shortClassName = className;
					if (className.indexOf(".") == -1)
					{
						className = packageName + "." + className;
					}
					else
					{
							shortClassName = className.replace(/\w*\./g, "");
					}
					var str = "\r\nvar $class = "
						+ className	+	" = function(){return $"
						+ shortClassName + ".apply(this,arguments);};\r\n"
						+ "var " + shortClassName	+ " = $class;\r\n";
					if (superName == "")
					{
						str += "$class.$extends(_JSVM_Namespace.kernel.Object);";
					}
					else
					{
						str += "$class.$extends("	+ superName + ");";
					}
					str += "\r\nvar $" + shortClassName + " = function(";
					code = code.replace(regExp_class, "$1" + str);
				}
				else
				{
					throw new Exception(0x001E,	"JSVM jsvm2-parser@compiler "
						+ "error: can't found keyword 'class'.");
				}
				// restore string constant
				for (var i = 0; i < constStrs.length; i++)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -