<script>
(function(){
function _$(){
this.str = 200;
}
_$.prototype = {
name:(function(){
return this.str;
})(),
type:function(){
return this.str;
},
}
window.$ = new _$();
})();
alert($.name);
alert($.type());
</script>
alert($.name);出错
alert($.type());正常
请教如何使$.name正常
补充(21:22)
name:(function(){ return this.str; })()
更改为 name:this.str
还是不行。。。
this
只存在于函数体中,在函数被调用时其才有意义。下面利用 Object.defineProperty方法及set/get属性描述器,可以实现你的需要
不知你要这样写代码的目的是什么