function objFactory(className)
{
var obj;
switch (className)
{
case "Class1":
obj = new Class1();
break;
case "Class2":
obj = new Class2();
break;}return obj;
}
{
var obj;
switch (className)
{
case "Class1":
obj = new Class1();
break;
case "Class2":
obj = new Class2();
break;}return obj;
}
obj.testPro = testPro;
this.MyName="ABCD";
this.testPro=testPro;
}function testPro(){
alert(888888888);
}"
然后将这个字符串动态加载,然后在后面加载的脚本就可以使用 new MyObj
var aClassName="JMyObj";
var str="function "+aClassName+"() { this.testPro=_testpro;}";
eval (str);
var obj=new JMyObj();
obj.testPro();
//这样创建是正常的,但是在别的方法中创建 JMyObj 就不可以了。为什么??????}
var BaseClass = new function()
{}function _testPro()
{
alert("aaa")
}function createClass(className)
{
eval ("BaseClass." + className + " = function (){this.testPro = _testPro;}");
}function test()
{
createClass("a");
var obj = new BaseClass.a();
obj.testPro();}
{
alert("aaa")
}function createClass(className)
{
eval (className + " = function (){this.testPro = _testPro;}");
}function test()
{
createClass("a");
var obj = new a();
obj.testPro();}恩,实际这样就可以了