obj={abc:"123",def:"888" }
这样,obj彻底是个全局变量了,哪里都可以用到!
如还有疑问,请联系我哦
简单的补个例子上,希望楼主能把addMethods的第二个参数大致有几种情况写清楚。
我再把我的答案补充完整
//判断类型的方法var isType = function(object) {
return Object.prototype.toString.call(object)
.match(/^\[object\s(.*)\]$/)[1]
}
var addMethods = function(obj, arr){
if(isType(obj) !== 'Object'){
return alert('第一个参数必须是对象!')
}
//TODO
}
<script>//初始化变量
var target = {}
//下面这段可以屏蔽
Object.defineProperties(target, {
sex: {
value: '男'
},
})
//对Object对象进行扩展方法
Object.prototype.setObjectAttrbute = function(key,value){
console.log('有人来设置你了,值为:' + value)
return this[key] = value
}
//再封装一层
Object.prototype.setAge = function(value){
return this.setObjectAttrbute("age",value)
}
//查看修改前属性
console.log(target.age)
//执行方法,两种方法结果一样
console.log(target.setObjectAttrbute("age",99))
console.log(target.setAge(99))
//查看新的target
console.log(target)
</script>