Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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中创建函数/对象_Javascript_Function_Object - Fatal编程技术网

在javascript中创建函数/对象

在javascript中创建函数/对象,javascript,function,object,Javascript,Function,Object,我怎样才能创造出一个同时是功能和对象的东西呢? 假设它的名字是obj。 在以下上下文中,它是一个对象: obj.key1 = "abc"; obj.key2 = "xyz"; 在另一个上下文中,它是这样一个函数: var test = obj("abc"); 如何在JavaScript中创建此对象?如下所示: function obj( param ) { console.log( param ); } obj.prototype.key1 = "abc"; obj.pr

我怎样才能创造出一个同时是功能和对象的东西呢? 假设它的名字是obj。 在以下上下文中,它是一个对象:

obj.key1 = "abc";
obj.key2 = "xyz";
在另一个上下文中,它是这样一个函数:

var test = obj("abc");
如何在JavaScript中创建此对象?

如下所示:

 function obj( param ) {
     console.log( param );
 }

 obj.prototype.key1 = "abc";
 obj.prototype.key2 = "xyz"; 

 var test = new obj( "abc" );
 console.log( test.key1 );
 console.log( test.key2 );
保存函数上下文所需的新键。您可以在函数中使用returnthis来避免这种情况

或者用这个代替原型:

 function obj( param ) {
     console.log( param );
     this.key1 = "abc";
     this.key2 = "xyz";
 }
像这样:

 function obj( param ) {
     console.log( param );
 }

 obj.prototype.key1 = "abc";
 obj.prototype.key2 = "xyz"; 

 var test = new obj( "abc" );
 console.log( test.key1 );
 console.log( test.key2 );
保存函数上下文所需的新键。您可以在函数中使用returnthis来避免这种情况

或者用这个代替原型:

 function obj( param ) {
     console.log( param );
     this.key1 = "abc";
     this.key2 = "xyz";
 }
然后:

var test = obj("hi there");
test.key1 = "abc";
test.key2 = "xyz";
test.showMessage();
小提琴:

小提琴:

然后:

var test = obj("hi there");
test.key1 = "abc";
test.key2 = "xyz";
test.showMessage();
小提琴:


FIDDLE:

函数就是这样的。函数是对象。因此,如果您使用函数testparam{alertparam;},您可以使用test.prop='testProp',请参阅类似的教程,了解函数的用法。函数是对象。因此,如果您使用函数testparam{alertparam;},您可以使用test.prop='testProp'查看类似于或var obj=functionparam{…}的教程,这样您就知道有选项,如果他需要多个选项,或者var obj=functionparam{…},这样您就知道有选项,如果他需要不止一个。谢谢你的回复,你能告诉我如何在那里实现objhi吗。showMessage/firebug给我错误:obj不是一个函数不,我想将此方法用于以下约定:objhi there.showMessage我想使用像jQuery这样的对象object@ABFORCE您不能这样使用它,因为objhi there将返回此函数返回或未定义的内容,如果它不返回任何内容,并且返回的值没有.showMessage方法。感谢您的回复,你能告诉我如何在那里实现objhi吗?showMessage/firebug告诉我错误:obj不是一个函数否,我想将此方法用于以下约定:objhi there.showMessage我想使用像jQuery这样的对象object@ABFORCE您不能这样使用它,因为objhi there将返回此函数返回的内容或未定义的内容,如果它不返回任何内容,并且返回的值没有.showMessage方法。