• [技术干货] js封装成插件的步骤方法
    本篇文章主要介绍了js封装成插件的步骤方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧由于项目原因,工作一年多还没用js写过插件,项目太成熟,平时基本都是在使用已经封装好的功能插件。感觉自己好low......这两天想自己抽空写一个canvas画统计图与折现图的插件,所以就去网上学习了下如何封装.....虽然之前看了很多源码,但是感觉就算了解也是野路子.....什么是封装呢?我的理解就是 把一个功能单独做成一个组件,就像做饺子,以前做饺子必须自己先用面粉做饺子皮,再做饺子馅,然后再手工包饺子,但是现在人们发明了自动包饺子机器,虽然机器里面的每一步骤和你自己包饺子是一样的,但是实际上你现在需要做的就只有一件事,就是放原料。这边机器就是封装好的插件,而原料就是你要传的参数为什么要把js功能封装成插件呢?我觉得有以下几点吧  1、便于代码复用  2、避免各个相同功能组件的干扰,可能会有作用域的一些问题吧  3、便于维护,同时利于项目积累  4、不觉得一直复制粘贴很low么.......我在网上看到的封装好像有两种,一种是js的原生封装,一种是jquery的封装。这边我先讲一下原生封装吧。我们在封装的时候会把js代码放到一个自执行函数里面,这样可以防止变量冲突。1234567(function(){   ......   ...... }()} 然后再创建一个构造函数123456789(function(){   var demo = function(options){     ......   } }()) 把这个函数暴露给外部,以便全局调用123456(function(){  var demo = function(options){    ......  }  window.demo = demo;}())其实现在你可以直接调用了,封装好了,虽然没实现什么功能1234var ss = new demo({  x:1,  y:2});或者1234new demo({  x:2,  y:3});然后传参怎么搞呢,我们一个插件一般有一些必选参数或者可选参数,在我看来可选参数不过就是在插件里面给了默认值罢了。我们传的参数会覆盖插件中的默认参数,可以用$.extend({})覆盖12345678910111213141516171819(function(){   var demo = function(options){     this.options = $.extend({       "x" : 1,       "y" : 2,       "z" : 3     },options)   }   window.demo = demo; }()) 然后你可以在在初始化构造函数的时候执行一些操作12345678910111213141516171819(function(){  var demo = function(options){    this.options = $.extend({      "x" : "1",      "y" : "2",      "z" : "3"    },options);    this.init();  };  demo.prototype.init = function(){    alert("x是"+this.options.x+" y是"+this.options.y+" z是"+this.options.z);  };  window.demo = demo;}());new demo({  "x" :"5",  "y" :"4"});</script>就是这样了。一个超级简单的封装 我这边有个疑问,extend只是jquery有吗,js对象有什么代替方法吗?晚点在看看............. 还有需要提的是封装js的时候我们要考虑周全,比如它的扩展性和兼容性,还有性能怎么样,还有没必要的就不需要封装了......要有选择性。现在网上已经完成的插件数不胜数,而且功能又十分强大,但是恰恰是这点,有的时候一个很大的插件我们只用到很小的一部分,那么就需要我们自己修改成适合我们自己的了,而且有些项目的风格和现在的插件风格也不同,所以关键是要适合自己的项目。以上就是本文的全部内容,希望对大家的学习有所帮助转载自https://www.jb51.net/article/123369.htm
  • [问题求助] SDC 2150 siu -10 APP反向代理中是否支持使用jquery
    在 sdc app反向代理的例子中,涉及到html 网页web配置,而且也看到相机系统里面有js文件,因为想在sdc app实现html网页配置参数,请问sdc app支持使用jquery么
  • [行业资讯] jQuery UI 1.13.0-rc.3 发布
    jQuery UI 1.13.0-rc.3已发布,与几周前发布的rc2相比,此版本的唯一变化是针对主题的修复。由于CSS的特殊性问题,1.13.0-rc.2中的空白图标实际上并不是空白的;rc3增加了一个相关选择器的权重 (specificity) 来解决这个问题。另一组问题也是由对主题的改动而引起的,这些改动本意是修复其他问题以及改进各种主题的外观。不幸的是,因为这些改动并不完整,因此导致了更大的问题。鉴于jQuery UI的维护状态,开发团队决定回滚这些改动。此外,开发者也可以更轻松地从 jQuery UI 1.12升级到1.13。
  • [技术干货] JQuery 动态显示和隐藏(动画)
    jQuery动画的三种方式今天的知识点就一个jQuery动画的三种表示方式:默认显示和隐藏方式滑动显示和隐藏方式淡入淡出显示和隐藏方式1. 默认的显示和隐藏方式1.1. show([speed,[easing],[fn]])->如果选择的元素是可见的,这个方法将不会改变任何东西。无论这个元素是通过hide()方法隐藏的还是在CSS里设置了display:none;,这个方法都将有效。1.2. hide([speed,[easing],[fn]])->隐藏,如果选择的元素是隐藏的,这个方法将不会改变任何东西。1.3. toggle([speed],[easing],[fn])->如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。1. speed:动画的速度,可以自定义值(如:1000)毫秒数,它还有三个预定义的值(“slow”,“normal”, “fast”)2. easing:用来指定切换效果,默认是"swing",可用参数"linear"      ->swing:动画执行时效果是 先慢,中间快,最后又慢      -> linear:动画执行时速度是匀速的3. fn:在动画完成时执行的函数,每个元素执行一次。以下所有的的speed,easing,function都是一样的2.滑动显示和隐藏方式2.1. slideDown([speed],[easing],[fn])->通过高度变化(向下增大)来动态地显示所有匹配的元素。2.2. slideUp([speed,[easing],[fn]])->通过高度变化(向上减小)来动态地隐藏所有匹配的元素2.3. slideToggle([speed],[easing],[fn])->与toggle功能相同,只是显示的动画效果不同3.淡入淡出显示和隐藏方式3.1. fadeIn([speed],[easing],[fn])->淡入效果(渐渐浮现)3.2. fadeOut([speed],[easing],[fn])->淡出效果(渐渐隐藏)3.3. fadeToggle([speed,[easing],[fn]])->与toggle功能相同,只是显示的动画效果不同<img id="imgpic" src="../img/test.jpg" width="600px" height="600px"/>//默认方式         $("#imgpic").toggle("slow");//         $("#imgpic").show(5000,"linear");//5秒后匀速显示         $("#imgpic").hide(5000,"swing");//5秒后隐藏,速度先先慢,中间快,最后又慢
  • [问题求助] 使用模板we码工程,引入jquery和qrcodejs后不能使用,直接报错
    原始模板工程为物品领用:加入如下代码报错信息如下jquery.min.js:1 Failed to load resource: net::ERR_PROXY_CONNECTION_FAILED qrcode.min.js:1 Failed to load resource: net::ERR_PROXY_CONNECTION_FAILED index.html:1 Uncaught ReferenceError: QRCode is not defined     at index.html:1 log.js:24 [HMR] Waiting for update signal from WDS... react-dom.development.js:25195 Download the React DevTools for a better development experience: https://fb.me/react-devtools react-hot-loader.development.js:2333 React-Hot-Loader: react--dom patch is not detected. React 16.6+ features may not work. AppContainer @ react-hot-loader.development.js:2333 index.js:16 getAuthCode success =   client:77 [WDS] Hot Module Replacement enabled. client:148 [WDS] Warnings while compiling. warnings @ client:148 onmessage @ socket.js:41 EventTarget.dispatchEvent @ sockjs.js:170 (anonymous) @ sockjs.js:883 SockJS._transportMessage @ sockjs.js:881 EventEmitter.emit @ sockjs.js:86 WebSocketTransport.ws.onmessage @ sockjs.js:2957 client:154 ./src/common/jquery.min.js Module Error (from C:/Users/xxx/AppData/Roaming/WeCode-IDE/wecode-eslint-config/node_modules/eslint-loader/dist/cjs.js): c:\Users\xxx\WeCodeProject\myapp\src\common\jquery.min.js   2:328    error    Empty block statement                                            no-empty   2:1423   warning  Unary operator '++' used                                         no-plusplus   2:2383   warning  Unary operator '--' used                                         no-plusplus   2:2571   warning  Unary operator '++' used                                         no-plusplus   2:2843   warning  Unary operator '++' used                                         no-plusplus   2:4570   warning  Unary operator '++' used                                         no-plusplus   2:4783   warning  Unary operator '++' used                                         no-plusplus   2:5630   warning  Expected a conditional expression and instead saw an assignment  no-cond-assign   2:5634   warning  Unary operator '++' used                                         no-plusplus   2:5819   warning  Unary operator '--' used                                         no-plusplus   2:6058   error    Empty block statement                                            no-empty   2:6135   error    Empty block statement                                            no-empty   2:6299   warning  Unary operator '++' used                                         no-plusplus   2:6361   error    's' is assigned a value but never used                           no-unused-vars   2:6548   warning  Unary operator '++' used                                         no-plusplus   2:6984   warning  Unary operator '++' used                                         no-plusplus   2:7115   warning  Unary operator '++' used                                         no-plusplus   2:7849   warning  Unary operator '++' used                                         no-plusplus   2:7902   warning  Unary operator '--' used                                         no-plusplus   2:8725   warning  Unary operator '++' used                                         no-plusplus   2:9428   error    Unnecessary escape character: \-                                 no-useless-escape   2:9454   error    Unnecessary escape character: \-                                 no-useless-escape   2:9563   error    Unnecessary escape character: \-                                 no-useless-escape   2:9658   error    Unnecessary escape character: \/                                 no-useless-escape   2:9743   error    Unnecessary escape character: \-                                 no-useless-escape   2:10062  error    'u' is defined but never used                                    no-unused-vars   2:11949  warning  Unary operator '--' used                                         no-plusplus   2:11963  warning  Unary operator '++' used                                         no-plusplus   2:12329  warning  Unary operator '++' used                                         no-plusplus   2:12384  warning  Unary operator '--' used                                         no-plusplus   2:12479  warning  Unary operator '--' used                                         no-plusplus   2:12728  warning  Expected '===' and instead saw '=='                              eqeqeq   2:13335  warning  Expected a conditional expression and instead saw an assignment  no-cond-assign   2:13862  error    'ActiveXObject' is not defined                                   no-undef   2:14448  warning  Unary operator '++' used                                         no-plusplus   2:14557  warning  Unary operator '++' used                                         no-plusplus   2:14989  warning  Unary operator '++' used                                         no-plusplus   2:15113  warning  Unary operator '++' used                                         no-plusplus   2:15119  warning  Unary operator '++' used                                         no-plusplus   2:15151  warning  Unary operator '++' used                                         no-plusplus   2:15158  warning  Unary operator '++' used                                         no-plusplus   2:15246  warning  Unary operator '++' used                                         no-plusplus   2:15442  warning  Unary operator '++' used                                         no-plusplus   2:15771  warning  Unary operator '++' used                                         no-plusplus   2:16045  warning  Unary operator '++' used                                         no-plusplus   2:16525  error    Empty block statement                                            no-empty   2:16984  warning  Unary operator '++' used                                         no-plusplus   2:17448  warning  Unary operator '--' used                                         no-plusplus   2:17458  warning  Unary operator '--' used                                         no-plusplus   2:19 warnings @ client:154 onmessage @ socket.js:41 EventTarget.dispatchEvent @ sockjs.js:170 (anonymous) @ sockjs.js:883 SockJS._transportMessage @ sockjs.js:881 EventEmitter.emit @ sockjs.js:86 WebSocketTransport.ws.onmessage @ sockjs.js:2957 client:154 ./src/common/qrcode.min.js Module Error (from C:/Users/xxx/AppData/Roaming/WeCode-IDE/wecode-eslint-config/node_modules/eslint-loader/dist/cjs.js): ... 更多错误信息见附件
  • [技术干货] 【转载】Python 前端开发之jQuery动画效果
    【文章的来源(华为云社区)】一、jQuery动画效果jQuery提供的一组网页中常见的动画效果,这些动画是标准的、有规律的效果;同时还提供给我们了自定义动画的功能。1、显示动画方式一:无参数,表示让指定的元素直接显示出来。其实这个方法的底层就是通过display: block;实现的。$("div").show();方式二:通过控制元素的宽高、透明度、display属性,逐渐显示,例如:3秒后显示完毕。$('div').show(3000);方式三:和方式二类似,也是通过控制元素的宽高、透明度、display属性,逐渐显示。$("div").show("slow");参数说明:slow 慢:600ms normal 正常:400ms fast 快:200ms方式四:动画执行完后,立即执行回调函数。//show(毫秒值,回调函数;     $("div").show(5000,function () {         alert("动画执行完毕!");     });总结:上面的四种方式几乎一致:参数可以有两个,第一个是动画的执行时长,第二个是动画结束后执行的回调函数。2、隐藏动画方式参照上面的show()方法的方式。如下:    $(selector).hide();     $(selector).hide(1000);      $(selector).hide("slow");     $(selector).hide(1000, function(){});练习 : 实现点击按钮显示盒子,再点击按钮隐藏盒子实现点击按钮显示盒子,再点击按钮隐藏盒子:<!DOCTYPE html> <html>     <head>         <meta charset="UTF-8">         <title></title>         <style type="text/css">             #box{                 width: 200px;                 height: 200px;                 background-color: green;                 border: 1px solid red;                 display: none;             }         </style>     </head>     <body>         <div id="box">                 </div>         <button id="btn">隐藏</button>         </body>     <script src="jquery-3.3.1.js"></script>        <script type="text/javascript">                 //jquery 提供了一些方法 show() hide() 控制元素显示隐藏         var isShow = true;         $('#btn').click(function(){             if(isShow){                 $('#box').show('slow',function(){                     $(this).text('盒子出来了');                                 $('#btn').text('显示');                     isShow = false;                 })             }else{                 $('#box').hide(2000,function(){                     $(this).text('');                         $('#btn').text('隐藏');                     isShow = true;                                     })             }         })                 </script> </html>3、开关式显示隐藏动画$('#box').toggle(3000,function(){});显示和隐藏的来回切换采用的是toggle()方法:就是先执行show(),再执行hide()。代码如下:$('#btn').click(function(){             $('#box').toggle(3000,function(){                 $(this).text('盒子出来了');                     if ($('#btn').text()=='隐藏') {                     $('#btn').text('显示');                     }else{                     $('#btn').text('隐藏');                     }             });         })4、滑入和滑出1、滑入动画效果:(类似于生活中的卷帘门):下拉动画,显示元素。$(selector).slideDown(speed, 回调函数);注意:省略参数或者传入不合法的字符串,那么则使用默认值:400毫秒(同样适用于fadeIn/slideDown/slideUp)2、滑出动画效果: 上拉动画,隐藏元素。$(selector).slideUp(speed, 回调函数);3、滑入滑出切换动画效果:$(selector).slideToggle(speed, 回调函数);代码如下:示例:<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <title></title>     <style>         div {             width: 300px;             height: 300px;             display: none;             background-color: green;         }     </style>     <script src="jquery-3.3.1.js"></script>     <script>         $(function () {             //点击按钮后产生动画             $("button:eq(0)").click(function () {                 //滑入动画: slideDown(毫秒值,回调函数[显示完毕执行什么]);                 $("div").slideDown(2000, function () {                     alert("动画执行完毕!");                 });             })             //滑出动画             $("button:eq(1)").click(function () {                 //滑出动画:slideUp(毫秒值,回调函数[显示完毕后执行什么]);                 $("div").slideUp(2000, function () {                     alert("动画执行完毕!");                 });             })             $("button:eq(2)").click(function () {                 //滑入滑出切换(同样有四种用法)                 $("div").slideToggle(1000);             })         })     </script> </head> <body> <button>滑入</button> <button>滑出</button> <button>切换</button> <div></div> </body> </html>5、淡入淡出动画1、淡入动画效果:让元素以淡淡的进入视线的方式展示出来。 $(selector).fadeIn(speed, callback);2、淡出动画效果:让元素以渐渐消失的方式隐藏起来$(selector).fadeOut(1000);3、淡入淡出切换动画效果:通过改变透明度,切换匹配元素的显示或隐藏状态。$(selector).fadeToggle('fast', callback);参数的含义同show()方法。代码如下:示例:<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <title></title>     <style>         div {             width: 300px;             height: 300px;             display: none;             /*透明度*/             opacity: 0.5;             background-color: red;         }     </style>     <script src="jquery-3.3.1.js"></script>     <script>         $(function () {             //点击按钮后产生动画             $("button:eq(0)").click(function () { //                //淡入动画用法1:   fadeIn();   不加参数                 $("div").fadeIn(); //                //淡入动画用法2:   fadeIn(2000);   毫秒值 //                $("div").fadeIn(2000); //                //通过控制  透明度和display                 //淡入动画用法3:   fadeIn(字符串);   slow慢:600ms   normal正常:400ms   fast快:200ms //                $("div").fadeIn("slow"); //                $("div").fadeIn("fast"); //                $("div").fadeIn("normal");                 //淡入动画用法4:   fadeIn(毫秒值,回调函数[显示完毕执行什么]); //                $("div").fadeIn(5000,function () { //                    alert("动画执行完毕!"); //                });             })             //滑出动画             $("button:eq(1)").click(function () { //                //滑出动画用法1:   fadeOut();   不加参数                $("div").fadeOut(); //                //滑出动画用法2:   fadeOut(2000);   毫秒值 //                $("div").fadeOut(2000);  //通过这个方法实现的:display: none; //                //通过控制  透明度和display                 //滑出动画用法3:   fadeOut(字符串);   slow慢:600ms   normal正常:400ms   fast快:200ms //                $("div").fadeOut("slow"); //                $("div").fadeOut("fast"); //                $("div").fadeOut("normal");                 //滑出动画用法1:   fadeOut(毫秒值,回调函数[显示完毕执行什么]); //                $("div").fadeOut(2000,function () { //                    alert("动画执行完毕!"); //                });             })             $("button:eq(2)").click(function () {                 //滑入滑出切换                 //同样有四种用法                 $("div").fadeToggle(1000);             })             $("button:eq(3)").click(function () {                 //改透明度                 //同样有四种用法                 $("div").fadeTo(1000, 0.5, function () {                     alert(1);                 });             })         })     </script> </head> <body> <button>淡入</button> <button>淡出</button> <button>切换</button> <button>改透明度为0.5</button> <div></div> </body> </html>6、自定义动画语法:$(selector).animate({params}, speed, callback);作用:执行一组CSS属性的自定义动画。第一个参数表示:要执行动画的CSS属性(必选)第二个参数表示:执行动画时长(可选)第三个参数表示:动画执行完后,立即执行的回调函数(可选)代码如下:示例:<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <title></title>     <style>         div {             position: absolute;             left: 20px;             top: 30px;             width: 100px;             height: 100px;             background-color: green;         }     </style>     <script src="jquery-3.3.1.js"></script>     <script>         jQuery(function () {             $("button").click(function () {                 var json = {"width": 500, "height": 500, "left": 300, "top": 300, "border-radius": 100};                 var json2 = {                     "width": 100,                     "height": 100,                     "left": 100,                     "top": 100,                     "border-radius": 100,                     "background-color": "red"                 };                 //自定义动画                 $("div").animate(json, 1000, function () {                     $("div").animate(json2, 1000, function () {                         alert("动画执行完毕!");                     });                 });             })         })     </script> </head> <body> <button>自定义动画</button> <div></div> </body> </html>7、停止动画$(selector).stop(true, false);参数说明:第一个参数: true:后续动画不执行。 false:后续动画会执行。 第二个参数: true:立即执行完成当前动画。 false:立即停止当前动画。PS:参数如果都不写,默认两个都是false。实际工作中,直接写stop()用的多。示例:鼠标悬停,弹出下拉菜单:<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <title></title>     <style type="text/css">         * {             margin: 0;             padding: 0;         }         ul {             list-style: none;         }         .wrap {             width: 330px;             height: 30px;             margin: 100px auto 0;             padding-left: 10px;             background-color: pink;         }         .wrap li {             background-color: green;         }         .wrap > ul > li {             float: left;             margin-right: 10px;             position: relative;         }         .wrap a {             display: block;             height: 30px;             width: 100px;             text-decoration: none;             color: #000;             line-height: 30px;             text-align: center;         }         .wrap li ul {             position: absolute;             top: 30px;             display: none;         }     </style>     <script src="jquery-3.3.1.js"></script>     <script>         //入口函数         $(document).ready(function () {             //需求:鼠标放入一级li中,让他里面的ul显示。移开隐藏。             var jqli = $(".wrap>ul>li");             //绑定事件             jqli.mouseenter(function () {                 $(this).children("ul").stop().slideDown(1000);             });             //绑定事件(移开隐藏)             jqli.mouseleave(function () {                 $(this).children("ul").stop().slideUp(1000);             });         });     </script> </head> <body> <div>     <ul>         <li>             <a href="javascript:void(0);">一级菜单1</a>             <ul>                 <li><a href="javascript:void(0);">二级菜单2</a></li>                 <li><a href="javascript:void(0);">二级菜单3</a></li>                 <li><a href="javascript:void(0);">二级菜单4</a></li>             </ul>         </li>         <li>             <a href="javascript:void(0);">二级菜单1</a>             <ul>                 <li><a href="javascript:void(0);">二级菜单2</a></li>                 <li><a href="javascript:void(0);">二级菜单3</a></li>                 <li><a href="javascript:void(0);">二级菜单4</a></li>             </ul>         </li>         <li>             <a href="javascript:void(0);">三级菜单1</a>             <ul>                 <li><a href="javascript:void(0);">三级菜单2</a></li>                 <li><a href="javascript:void(0);">三级菜单3</a></li>                 <li><a href="javascript:void(0);">三级菜单4</a></li>             </ul>         </li>     </ul> </div> </body> </html>上方代码中,关键的地方在于,用了stop函数,再执行动画前,先停掉之前的动画。
  • [热门活动] Apache jQuery-File-Upload未经身份验证的任意文件上传漏洞(CVE-2018-9206)
    一、概要近日研究人员发现apache jQuery-File-Upload <= v9.22.0中存在未经身份验证的任意文件上载漏洞(CVE-2018-9206)可以导致远程代码执行,该漏洞exp已被公布,建议涉及的用户尽快完成漏洞修复。jQuery-File-Upload是一个应用广泛的文件上传工具,该漏洞的主要原因为jQuery File Upload的安全限制被绕过,通过该漏洞攻击者可上传web shell进而造成远程命令执行,漏洞威胁等级为严重。参考链接:https://www.zdnet.com/article/zero-day-in-popular-jquery-plugin-actively-exploited-for-at-least-three-years/#ftag=RSSbaffb68二、漏洞级别漏洞级别:【严重】(说明:漏洞级别共四级:一般、重要、严重、紧急。)三、影响范围漏洞影响Apache jQuery-File-Upload 9.22.0及以下版本。四、安全建议官方已经在9.22.1更新中修复该漏洞,请及时更新。更新链接:https://github.com/blueimp/jQuery-File-Upload注意:修复漏洞前请将资料备份,并进行充分测试。
  • 【干货分享】使用 jQuery.i18n.properties 实现 Web 前端的国际化
    jQuery.i18n.properties 简介 [color=rgb(51,51,51)]jQuery.i18n.properties 是一款轻量级的 jQuery 国际化插件。与 Java 里的资源文件类似,jQuery.i18n.properties 采用 .properties 文件对 JavaScript 进行国际化。jQuery.i18n.properties 插件根据用户指定的(或浏览器提供的 )语言和国家编码(符合 ISO-639 和 ISO-3166 标准)来解析对应的以“.properties”为后缀的资源文件。 [color=rgb(51,51,51)]总的来说,jQuery.i18n.properties 有一下一些特点: 1.使用 Java 标准的 .properties 文件作为资源文件,资源文件命名有以下三种格式: basename_properties basename_language.properties basename_language_country.properties 2.使用 ISO-639 作为语言编码标准,ISO-3166 作为国家名称编码标准 3.按顺序加载默认资源文件和指定语言环境的资源文件,保证默认值始终可用 4.未指定语言环境时使用浏览器提供的语言 5.可以在资源字符串中使用占位符(例如:hello= 你好 {0}! 今天是 {1}。) 6.资源文件中的 Key 支持命名空间(例如:com.company.msgs.hello = Hello!) 7.支持跨行的值 8.可以以 JavaScript 变量(或函数)或 Map 的方式使用资源文件中的 Key jQuery.i18n.properties(settings) 选项描述类型可选?name资源文件的名称,例如 strings 或 [strings1,strings2],前者代表一个资源文件,后者代表资源文件数组。String 或 String[]否path资源文件所在目录的路径String是mode加载模式:“vars”表示以 JavaScript 变量或函数的形式使用资源文件中的 Key,“map”表示以 Map 的方式使用资源文件中的 Key,“both”表示可以同时使用两种方式。如果资源文件中的 Key 包含 JavaScript 的关键字,则只能采用“map”。默认值是“vars”。String是languageISO-639 指定的语言编码(如:“en”表示英文、“zh”表示中文),或同时使用 ISO-639 指定的语言编码和 ISO-3166 指定的国家编码(如:“en_US”,“zh_CN”等)。如果不指定,则采用浏览器报告的语言编码。String是cache指定浏览器是否对资源文件进行缓存,默认为 false。boolean是encoding加载资源文件时使用的编码。默认为 UTF-8。String是callback代码执行完成时运行的回调函数function是