Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.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_Compatibility - Fatal编程技术网

Javascript 我自己的迷你框架与某些项目不兼容

Javascript 我自己的迷你框架与某些项目不兼容,javascript,compatibility,Javascript,Compatibility,我没能创建一个带有一些在互联网上找到的有用函数的迷你库,我想通过在HTML中包含一个文件(比如jQuery)来轻松使用它们 问题是,一些变量和函数共享相同的名称,它们导致了问题 有没有更好的解决方案,而不是像“bbbb123”这样给变量/函数起疯狂的名字,这样有人使用“bbbb123”变量的几率就很低了?我会把你所有的函数和变量放在你库的一个对象中 var MyLibrary = { myFunc: function() { //do stuff }, myVar: "Fo

我没能创建一个带有一些在互联网上找到的有用函数的迷你库,我想通过在HTML中包含一个文件(比如jQuery)来轻松使用它们

问题是,一些变量和函数共享相同的名称,它们导致了问题


有没有更好的解决方案,而不是像“bbbb123”这样给变量/函数起疯狂的名字,这样有人使用“bbbb123”变量的几率就很低了?

我会把你所有的函数和变量放在你库的一个对象中

var MyLibrary = {
  myFunc: function() {
    //do stuff
  },

  myVar: "Foo"
}

在JavaScript中定义“类”有几种不同的方法。包含3个函数的页面很好。

我会将所有函数和变量放入库的单个对象中

var MyLibrary = {
  myFunc: function() {
    //do stuff
  },

  myVar: "Foo"
}

在JavaScript中定义“类”有几种不同的方法。包含3个变量的页面很好。

您应该在全局名称空间中使用一个变量名,这样使用的可能性很低,并将其他所有变量名放在它下面(在它自己的名称空间中)

例如,如果我想调用我的库AzureLib:

AzureLib = {
    SortSomething: function(arr) {
        // do some sorting
    },
    DoSomethingCool: function(item) {
        // do something cool
    }
};

// usage (in another JavaScript file or in an HTML <script> tag):
AzureLib.SortSomething(myArray);
AzureLib={
SortSomething:功能(arr){
//整理一下
},
DoSomethingCool:功能(项目){
//做点酷的事
}
};
//用法(在另一个JavaScript文件或HTML标记中):
AzureLib.SortSomething(myArray);

您应该在全局名称空间中使用一个变量名,该名称使用的可能性很低,并将其他所有内容放在它下面(在它自己的名称空间中)

例如,如果我想调用我的库AzureLib:

AzureLib = {
    SortSomething: function(arr) {
        // do some sorting
    },
    DoSomethingCool: function(item) {
        // do something cool
    }
};

// usage (in another JavaScript file or in an HTML <script> tag):
AzureLib.SortSomething(myArray);
AzureLib={
SortSomething:功能(arr){
//整理一下
},
DoSomethingCool:功能(项目){
//做点酷的事
}
};
//用法(在另一个JavaScript文件或HTML标记中):
AzureLib.SortSomething(myArray);

您可以将所有库函数放在一个对象中。这样,只要该对象的名称不冲突,您就会很好。比如:

var yourLib = {};

yourLib.usefulFunction1 = function(){
    ..
};

yourLib.usefulFunction2 = function(){
    ..
};

您可以将库的所有函数放在单个对象中。这样,只要该对象的名称不冲突,您就会很好。比如:

var yourLib = {};

yourLib.usefulFunction1 = function(){
    ..
};

yourLib.usefulFunction2 = function(){
    ..
};

是的,您可以创建一个对象作为名称空间。有几种方法可以做到这一点,语法方面,但最终结果大致相同。您的对象名称应该是其他人不会使用的名称

var MyLibrary = {

    myFunc: function() { /* stuff */ }

};
请记住,它是对象文字语法,所以您可以使用
label:value
将内容放入其中,而不是
var label=value

如果您需要首先声明内容,请使用包装函数来封装环境并保护您不受全局范围的影响:

var MyLibrary = (function() {

    var foo = 'bar';

    return {
        myFunc: function() { /* stuff */ }
    };

})(); // execute this function right away to return your library object

是的,您可以创建一个对象作为名称空间。有几种方法可以做到这一点,语法方面,但最终结果大致相同。您的对象名称应该是其他人不会使用的名称

var MyLibrary = {

    myFunc: function() { /* stuff */ }

};
请记住,它是对象文字语法,所以您可以使用
label:value
将内容放入其中,而不是
var label=value

如果您需要首先声明内容,请使用包装函数来封装环境并保护您不受全局范围的影响:

var MyLibrary = (function() {

    var foo = 'bar';

    return {
        myFunc: function() { /* stuff */ }
    };

})(); // execute this function right away to return your library object

解决方案是像jQuery那样做:将您的所有行为封装在一个模块中,这样您在全局名称空间中只使用一个符号。请创建一个简短的示例,如果您能够做到这一点,我将永远感到高兴(因为我对我得到的名称空间解决方案不是100%满意)解决方案是像jQuery那样做:将您的所有行为封装在一个模块中,这样您在全局名称空间中只使用一个符号。请创建一个简短的示例,如果您能够做到这一点,我将非常高兴,(因为我对我得到的名称空间解决方案不是100%满意)用法是什么,我如何使用它们:O?@TuxedoKnightChess只需使用
MyLibrary.myFunc()调用它们即可。myFunc()有什么用途,我如何使用它们:O?@TuxedoKnightChess只需使用
MyLibrary.myFunc()调用它们即可。