如何从外部调用jQuery插件内部的函数?

要从外部调用jQuery插件内部的函数,请尝试运行以下代码。该代码以jQuery为例使用属性更新名称:

<html>
   <head>
      <script src = "https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
      <script>
         $.fn.person = function(prop) {
            var defaults = $.extend({
               name: 'Amit'
            }, prop);
   
            //在插件之外使用的方法
            var person = {
               changeName: function(name) {
                  defaults.name = name;
               },
               getName: function() {
                  return defaults.name;  
               }
            };
            return person;
         };
         //设置初始属性
         var person = $('#person').person({
            name: 'Sachin'
         });
         document.write('Initial name of person: ', person.getName());
         person.changeName('Amit');
         
         //打印新名称
         document.write('<br>Changed name of person: ', person.getName());
      </script>
   </head>
   <body>
      <div id = "person">Changes done above!</div>
   </body>
</html>

输出结果

Initial name of person: Sachin
Changed name of person: Amit
Changes done above!