原生JavaScript插件开发[转]

一起学习下 插件的开发,原生的。 看了这文章

JavaScript插件开发从入门到精通系列---原生JavaScript插件开发

附上

读完小结:

看了下,比较小白的方式就是把一些代码,放到一个单独的js文件中, (刚开始就是这么玩的,还觉得挺美)
直接暴露在全局作用域。
-----------------
然后还有用一个建一个

var person1 = {
name: "peter",
age: 18,
sayHello: function() {
alert("hello! I am " + this.name);
}
};
person1.sayHello();

-----------------

然后还有一点工厂模式 , return 返回

function createPerson(name, age) {
var o = new Object();
o.name = name;
o.age = age;
o.sayHello = function() {
alert("hello! I am " + this.name);
};
return o;
}

var person1 = createPerson("peter", 18);
person1.sayHello();
---------------
然后还有一点 构造函数模式 ,使用时new一下


var Person = function(name, age) {
this.name = name;
this.age = age;
this.sayHello = function() {
alert("hello! I am " + this.name);
}
};

var person1 = new Person("peter", 18);
person1.sayHello();
var person2 = new Person("william", 19);

-------------
上面这些,写过点代码的,基本都会经常使用。


作者文章的大干货 ,精彩来了

原型模式

var MathUtil = function(version, programmer) {  
    this.name = name;  
    this.programmer = programmer;  
};  
  
MathUtil.prototye = {  
  
    // 将构造函数置为MathUtil,这里一定要将constructor重新设置回MathUtil,不然会指向Object的构造函数  
    constructor: MathUtil,  
  
    // 加法  
    add: function(aaa, bbb) {      
        var result= aaa + bbb;      
        alert("result == " + result);      
    },  
  
    // 减法      
    reduce: function(aaa, bbb) {      
        var result= aaa - bbb;      
        alert("result == " + result);      
    },    
      
    // 乘法      
    multiply: function(aaa, bbb) {      
        var result= aaa * bbb;      
        alert("result == " + result);      
    },    
      
    // 除法      
    divide: function(aaa, bbb) {      
        var result = aaa / bbb;      
        alert("result == " + result);      
    }  
};  

  

// 引用mathUtil.js文件后使用方式:  
var m1 = new MathUtil("william",["william"]);  
m1.programmer.push("william2");  
  
var m2 = new MathUtil("peter",["peter"]);  
m1.programmer.push("peter2");  

  

更多的回原文看下,多看几遍。

原文地址:https://www.cnblogs.com/jshare/p/6951869.html