Javascript 将字段传递给脚本

Javascript 将字段传递给脚本,javascript,jquery,Javascript,Jquery,在我的脚本中,如何读取“things”,例如autoHide:true来设置脚本中的变量等等。我称它们为“东西”,因为我不确定它们的确切名称,这意味着可能还有数千种资源,但由于我缺乏知识,我无法找到如何实现这一点 我希望有多个选项,例如滚动条宽度,主题等等,但我不知道如何在我的文件中读取它们,我有点不知所措 我现在有一个完整的工作脚本的现场演示 (function(jQuery, undefined) { "use strict"; jQuery.fn.extend({

在我的脚本中,如何读取“things”,例如
autoHide:true
来设置脚本中的变量等等。我称它们为“东西”,因为我不确定它们的确切名称,这意味着可能还有数千种资源,但由于我缺乏知识,我无法找到如何实现这一点

我希望有多个选项,例如
滚动条宽度
主题
等等,但我不知道如何在我的文件中读取它们,我有点不知所措

我现在有一个完整的工作脚本的现场演示

(function(jQuery, undefined) {
    "use strict";
    jQuery.fn.extend({
        BananzaScroll: function() {

        // Script Functions Here

        }
    });
})(jQuery);


$( "#demo" ).BananzaScroll({
    autoHide: true  
});

您基本上只是在全局范围内设置它们

<script>
    var myValue = 'abc';
</script>

(function ($) {
    console.log(myValue);
})($);
<script>
    var myApplicationName_myData = {};
</script>

var myValue='abc';
(函数($){
console.log(myValue);
})($);
如果要创建需要大量值的对象,最好创建一个对象来保存这些值,并将其放在全局范围内:

<script>
    var myOptions = {
        autoHide: false,
        speed: 5,
        scrollBarWidth: 10
    };
</script>

变量myOptions={
自动隐藏:false,
速度:5,,
滚动条宽度:10
};
这使得全球范围不会受到太大的污染。您可能还希望对其设置伪名称空间,以避免与全局范围内的任何其他内容发生冲突

<script>
    var myValue = 'abc';
</script>

(function ($) {
    console.log(myValue);
})($);
<script>
    var myApplicationName_myData = {};
</script>

var myApplicationName_myData={};
如果您正在执行jQuery插件,您实际上会希望将它们作为参数传递给脚本:

<script>
    $('#id').myPlugin({
        autoHide: false
    });
</script>

$.fn.myPlugin = function (options) {
    console.log(options.autoHide);
};

$('#id').myPlugin({
自动隐藏:false
});
$.fn.myPlugin=函数(选项){
console.log(options.autoHide);
};

您基本上只是在全局范围内设置它们

<script>
    var myValue = 'abc';
</script>

(function ($) {
    console.log(myValue);
})($);
<script>
    var myApplicationName_myData = {};
</script>

var myValue='abc';
(函数($){
console.log(myValue);
})($);
如果要创建需要大量值的对象,最好创建一个对象来保存这些值,并将其放在全局范围内:

<script>
    var myOptions = {
        autoHide: false,
        speed: 5,
        scrollBarWidth: 10
    };
</script>

变量myOptions={
自动隐藏:false,
速度:5,,
滚动条宽度:10
};
这使得全球范围不会受到太大的污染。您可能还希望对其设置伪名称空间,以避免与全局范围内的任何其他内容发生冲突

<script>
    var myValue = 'abc';
</script>

(function ($) {
    console.log(myValue);
})($);
<script>
    var myApplicationName_myData = {};
</script>

var myApplicationName_myData={};
如果您正在执行jQuery插件,您实际上会希望将它们作为参数传递给脚本:

<script>
    $('#id').myPlugin({
        autoHide: false
    });
</script>

$.fn.myPlugin = function (options) {
    console.log(options.autoHide);
};

$('#id').myPlugin({
自动隐藏:false
});
$.fn.myPlugin=函数(选项){
console.log(options.autoHide);
};

将参数传递给
BananzaScroll
的定义,如下所示

(function(jQuery, undefined) {
  "use strict";

  jQuery.fn.extend({
    BananzaScroll: function(opts) {
      console.log(opts); // opts contains the object you pass in
    }
  });
})(jQuery);

$('#demo').BananzaScroll({
    autoHide: true
});

将参数传递给
BananzaScroll
的定义,如下所示

(function(jQuery, undefined) {
  "use strict";

  jQuery.fn.extend({
    BananzaScroll: function(opts) {
      console.log(opts); // opts contains the object you pass in
    }
  });
})(jQuery);

$('#demo').BananzaScroll({
    autoHide: true
});

对象将作为参数传递给
BananzaScroll
函数:。我建议您阅读关于创建插件的jQuery指南:。您提到的
东西
一对
对象(又称散列)。谢谢@imthenachoman对象将作为参数传递给
BananzaScroll
函数:。我建议您阅读关于创建插件的jQuery指南:。您所指的
东西是
一对
对象(又称散列).Thank you@imthenachoma是否有任何简短的方法来检查该选项是否已设置为替换默认选项?如果您创建一个具有所有默认值的对象,然后使用类似于
jQuery.extend的方法,则可以将给定选项应用于默认选项。例如,
opts=$.extend(默认值,opts)
好的,我设置了所有的默认值,然后调用它,它用设置的值替换所有值,但是
AutoHide:true/false
呢?真/假的需要if语句吗?也许这需要另一个问题。。。我现在无法理解逻辑,在我的头脑中,我看到变量丢失了等等。无论如何,感谢您帮助获得这些选项!如果这不是问题,也许您可以链接到帮助指南?是否有任何简短的方法来检查该选项是否已设置为替换默认选项?如果您创建一个具有所有默认值的对象,然后使用类似于
jQuery.extend
的方法,您可以将给定选项应用于默认选项。例如,
opts=$.extend(默认值,opts)
好的,我设置了所有的默认值,然后调用它,它用设置的值替换所有值,但是
AutoHide:true/false
呢?真/假的需要if语句吗?也许这需要另一个问题。。。我现在无法理解逻辑,在我的头脑中,我看到变量丢失了等等。无论如何,感谢您帮助获得这些选项!如果这不是问题的话,也许你可以链接到帮助指南?