封装函数实现存储和读取的功能
需求: 在全局中只有一个namespace函数, 可以实现两种功能, 一种是存储数据,另一种是读取数据 存储数据的时候: namespace('a.b.c', 123); 读取数据的时候: namespace('a.b.c') => 123 读取: namespace('a.b') => {c: 123} 读取: namespace('a') => {b: {c: 123}} a:{ b: { c: 123 } } 该函数可以实现两种功能: 第一种是可以存储数据: 当存储数据的时候需要接收两个参数,第一个参数是存储的路径,第二个参数存储的数据 第二种是可以读取数据: 当读取数据的时候,需要接收一个参数就是要读取的路径 var namespace = (function() { // 数据存储和读取的对象 var obj = {}; return function(path, val) { // 模拟函数的重载 if(arguments.length == 2) { //实参个数为2 则为存储数据 // 划分路径 var pathArr = path.split('.'); // 引用obj变量 var obj1 = obj; // 设置最后的键 var index = pathArr.pop(); // 循环产生对象 for(var i = 0;i < pathArr.length