0
自动包装动态添加对象属性(功能)我使用此设置将属性添加到一个对象:在一个包装函数
var obj = {
extend: function(key, obj){
this[key] = obj;
}
}
这种运作良好。然而,在某些情况下,我想添加子对象作为属性:
obj.extend('new', {
test: function(){
console.log('test called');
}
});
我想自动包装在通过了对象中出现的所有功能(如第二个参数),以obj.extend()
在一个函数,它在自身包裹在$(document).ready(function(){})
我的做法功能的实际调用是这样的:
extend: function(key, obj){
for(var prop in obj){
if(typeof prop == 'function') {
console.log(prop + ' is a function'
} else
console.log(prop + ' is NOT a function');
}
}
this[key] = obj;
}
但typeof prop
仿佛回到string
,而不是“功能”。我已经检查了各种文章和帖子,但做法:
typeof propertyOfObject == 'function'
似乎完全有效。
我在这里做错了什么?为什么typeof propertyOfObject
给我'串'?我如何检查prop
是否是一个函数?
超级准!谢谢你指出这一点! – SquareCat