u
This commit is contained in:
		
							parent
							
								
									08c3497788
								
							
						
					
					
						commit
						c55dcda3e6
					
				
							
								
								
									
										27
									
								
								coretool.js
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								coretool.js
									
									
									
									
									
								
							@ -237,35 +237,32 @@ module.exports = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  read_varchain (path, root) {
 | 
					  read_varchain (path, root) {
 | 
				
			||||||
    let parent = root || globalThis || global || window || {}
 | 
					    let parent = root || globalThis || global || window || {}
 | 
				
			||||||
    let names = path.split('.')
 | 
					    let keychain = path.split('.')
 | 
				
			||||||
    for (var i in names) {
 | 
					    for (let key of keychain) {
 | 
				
			||||||
      if (typeof parent === 'object' && names[i].match(/^\w+\(\)$/) && typeof parent[names[i].substring(0, names[i].length - 2)] === 'function') {
 | 
					      if (typeof parent === 'object' && key.match(/^\w+\(\)$/) && typeof parent[key.substring(0, key.length - 2)] === 'function') {
 | 
				
			||||||
        // 支持 xxx.myfunc().yyy 的函数形式作为一个路径节点。
 | 
					        // 支持 xxx.myfunc().yyy 的函数形式作为一个路径节点。
 | 
				
			||||||
        parent = parent[names[i].substring(0, names[i].length - 2)]()
 | 
					        parent = parent[key.substring(0, key.length - 2)]()
 | 
				
			||||||
      } else if (typeof parent === 'object' && names[i].match(/^\w+$/) && typeof parent[names[i]] != 'undefined' && parent[names[i]] != null) {
 | 
					      } else if (typeof parent === 'object' && key.match(/^\w+$/) && typeof parent[key] != 'undefined' && parent[key] != null) {
 | 
				
			||||||
        parent = parent[names[i]]
 | 
					        parent = parent[key]
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        return undefined
 | 
					        return undefined
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (parent === null || parent === undefined || isNaN(parent) || typeof parent === 'number') {
 | 
					 | 
				
			||||||
      return undefined
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return parent
 | 
					    return parent
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  set_varchain (path, root, value) {
 | 
					  set_varchain (path, root, value) {
 | 
				
			||||||
    var parent = root || global || window || {}
 | 
					    var parent = root || global || window || {}
 | 
				
			||||||
    var names = path.split('.')
 | 
					    var keychain = path.split('.')
 | 
				
			||||||
    for (var i = 0; i < names.length - 1; i++) {
 | 
					    for (let i = 0; i < keychain.length - 1; i++) {
 | 
				
			||||||
      if (typeof parent === 'object' && names[i].match(/^\w+$/)) {
 | 
					      if (typeof parent === 'object' && keychain[i].match(/^\w+$/)) {
 | 
				
			||||||
        if (typeof parent[names[i]] !== 'object') parent[names[i]] = {}
 | 
					        if (typeof parent[keychain[i]] !== 'object') parent[keychain[i]] = {}
 | 
				
			||||||
        parent = parent[names[i]]
 | 
					        parent = parent[keychain[i]]
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        return null
 | 
					        return null
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return (parent[names[names.length - 1]] = value)
 | 
					    return (parent[keychain[keychain.length - 1]] = value)
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user