SOURCE

// var a =function() {
// 	console.log('b', b)
// }
// var b = 'window'

// var c = function() {
// 	var b = 'function'
// 	a()
// }
// c()


function d(func) {
	var a = function() {
		return d(function(defer){console.log('deferred', deferred,'defer', defer)})
	}
	var deferred= {}
	deferred.a = a
	if(func) func.call(deferred,deferred)
	deferred.add = function () {
		deferred.b = 'add'
	}
	return deferred
}
var re = d();
console.log('re', re)
re.add()
re.a()

console 命令行工具 X clear

                    
>
console