Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript dojo:如何从window类继承并生成包含其他内容的custum类?_Javascript_Inheritance_Dojo_Window - Fatal编程技术网

Javascript dojo:如何从window类继承并生成包含其他内容的custum类?

Javascript dojo:如何从window类继承并生成包含其他内容的custum类?,javascript,inheritance,dojo,window,Javascript,Inheritance,Dojo,Window,我可以从dojo1.8中的窗口类继承吗?我想在自定义窗口中添加一些附加元素。它将非常有用,因为我需要多次重用它。不是特定于dojo的,但在javascript中,您可以随意向对象添加属性和方法 // assuming you myWindow is an object myWindow.myProperty = "Test"; myWindow.myFunction = function(arg){ alert("Hello "+arg); }; 以这种方式扩充对象被称为monkey patc

我可以从dojo1.8中的窗口类继承吗?我想在自定义窗口中添加一些附加元素。它将非常有用,因为我需要多次重用它。

不是特定于dojo的,但在javascript中,您可以随意向对象添加属性和方法

// assuming you myWindow is an object
myWindow.myProperty = "Test";
myWindow.myFunction = function(arg){ alert("Hello "+arg); };

以这种方式扩充对象被称为monkey patching,甚至可以对本机类型进行扩充。

对于任何javascript对象,您都应该能够向其添加任何属性和函数。javascript中的对象没有必须遵守的固定类型(类)定义。谢谢。我正在努力。我希望有人也能发布一些片段:)谢谢。那么,如何更好地构建我的应用程序呢?我的意思是-可能我需要在某个文件中使用write函数,当我想初始化自定义对象时,我会像这样添加pass函数:
myWindow.myFunction=myInitCustomFunction()?您还可以创建一个函数,将所需的所有功能添加到传入的窗口对象中。因此,
function makeWindowCool(win){win.myFunction=myInitCustomFunction();
然后您可以正常创建窗口,然后调用
makeWindowCool(myWindow);
值得注意的是,创建这样一个函数,您不仅限于向窗口添加属性,还可以调用
myInitCustomerFunction()
并执行任何其他需要的操作,以使窗口的行为符合您的要求。