Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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
使用函数myFunction()语法时,在javascript中为函数命名名称空间_Javascript_Oop - Fatal编程技术网

使用函数myFunction()语法时,在javascript中为函数命名名称空间

使用函数myFunction()语法时,在javascript中为函数命名名称空间,javascript,oop,Javascript,Oop,我想在MyNamespace中命名一些函数。我想首先我会创建一个对象MyNamespace,然后在其中定义函数 如何在仍然使用函数myThing(){…}格式的情况下将函数分配给命名空间?这个语法是什么样子的 无法使用的对象语法: var MyNamespace = { function helloWorld() { console.log('hi!'); } function goodbyeWorld() { console.log('I <3 Titani

我想在MyNamespace中命名一些函数。我想首先我会创建一个对象
MyNamespace
,然后在其中定义函数

如何在仍然使用
函数myThing(){…}
格式的情况下将函数分配给命名空间?这个语法是什么样子的

无法使用的对象语法:

var MyNamespace = {
  function helloWorld() {
    console.log('hi!');
  }

  function goodbyeWorld() {
    console.log('I <3 Titanic');
  }
}

MyNamespace.helloWorld();
var MyNamespace={
函数helloWorld(){
console.log('hi!');
}
函数goodbyeWorld(){

console.log('I您的第二个示例是最常用的方式。按此顺序使用“function name()”没有任何技术优势。还有另一种选择:

function wrapper() {
  function helloWorld() {
  }

  function privateFunction() { }

  return {
    helloWorld: helloWorld
  };
}
在这种情况下,您还可以声明命名空间私有函数,就像那里的函数一样。helloWorld可以调用privateFunction,但外部的任何函数都不能直接调用它。(注意,所有公共函数都需要在返回的对象中)

要自动实例化,请执行以下操作:

// in the ... insert my above example
window.mynamespace = (...)();

第二个示例是最常用的方法。按此顺序使用“function name()”没有任何技术优势。还有另一种选择:

function wrapper() {
  function helloWorld() {
  }

  function privateFunction() { }

  return {
    helloWorld: helloWorld
  };
}
在这种情况下,您还可以声明命名空间私有函数,就像那里的函数一样。helloWorld可以调用privateFunction,但外部的任何函数都不能直接调用它。(注意,所有公共函数都需要在返回的对象中)

要自动实例化,请执行以下操作:

// in the ... insert my above example
window.mynamespace = (...)();

您可以像在这里一样在原始对象中声明它们:

var MyNamespace = {
  helloWorld: function() {
    console.log('hi!');
  },

  goodbyeWorld: function() {
    console.log('I <3 Titanic');
  }
}

MyNamespace.helloWorld();
MyNamespace.goodbyeWorld();
var MyNamespace={
helloWorld:function(){
console.log('hi!');
},
再见World:function(){

log('I您可以像这里一样在原始对象中声明它们:

var MyNamespace = {
  helloWorld: function() {
    console.log('hi!');
  },

  goodbyeWorld: function() {
    console.log('I <3 Titanic');
  }
}

MyNamespace.helloWorld();
MyNamespace.goodbyeWorld();
var MyNamespace={
helloWorld:function(){
console.log('hi!');
},
再见World:function(){

console.log('I Nice Katana-这仍然允许我直接调用
wrapper.helloWorld()
,而不必先实例化wrapper?@DonnyP,并使用赋值和
wrapper
作为一个,当然..Nice Katana-这仍然允许我直接调用
wrapper.helloWorld()
无需先实例化包装器?@DonnyP,并带有赋值和包装器,当然。