jq变量问题

御宅男小春子
  • 229

uploader.js文件 简写代码如下

// 实例化
    uploader = WebUploader.create({
        // swf文件路径
        swf: '/js/Uploader.swf',
    });

现在有很多html文件都要引用uploader.js 假设上面的swf参数假设固定 现在需要加写其他参数

如index.html代码如下

<script type="text/javascript">
$(function(){
    var config = {
            "filelistPah":"/index.php/Admin/Uploadify/fileList/path/category",
            "delPath":"/index.php/admin/Uploadify/delupload",
    };
});
</script>
<script type="text/javascript" src="../upload.js"></script>

**问题upload.js怎么写才能将var config里面的东和原来的那些合并
upload.js我是这样瞎写的 但是是错误的 js基础没打好 基本不怎么写js 求大神指点**

var defaults = {
        // swf文件路径
        swf: '/js/Uploader.swf',
        };
        opts = $.extend(defaults, config);
        // 实例化
        uploader = WebUploader.create({opts});
回复
阅读 2.2k
2 个回答
陈小亮Chan
  • 817
✓ 已被采纳

config应该挂在全局。不然别的js会读取不到。

window.config = {...}

// upload.js
extends的时候最好第一个参数放置一个空对象,避免原有变量被改变。

var opts = $.extend({}, defaults, config);

你的写法没有错。 如果有错就再贴上来。

谢邀, @陈小亮Chan 的回答是正确的,但是有一点,能不把变量挂在全局就不挂。如果实在要挂,可以在全局挂一个应用对象,然后应用内的全局对象都挂在这个应用对象上,比如

// ES6

// 确保 window.myApp 对象存在
const app = window.myApp = window.myApp || {};

// config 太常用了,还是指定一下是哪个组件的 config,所以叫 uploadConfig
app.uploadConfig = { ... }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏