var t = { //主要是要注意这里的写法,没有':'也没有'function' get name(){ return this.x }, set name(x){ this.x = x } }; //t.__defineSetter__("name",function(x){this.x=x}) //t.__defineGetter__("name",function(){return this.x}) t.__lookupSetter__("name")("aluckyman"); console.log("***************"); console.log(t.__lookupGetter__("name")()); console.log("***************");
mark 一下,以前从没去关注这个。。
相关推荐
关于__defineGetter__ 和__defineSetter__的说明
2.在对象定义后通过Object的__defineGetter__、__defineSetter__方法来追加定义 在使用对象初始化过程来定义Getter和Setter方法时唯一要做的事情就是在getter方法前面加上“get”,在setter方法前面加上“set”。 ...
要理解JS中的prototype, 首先必须弄清楚以下几个概念 1. JS中所有的东西都是对象 2. JS中所有的东西都由Object衍生而来, 即... // propertyIsEnumerable, __defineGetter__, __lookupGetter__, __defineSetter__,
js defineSetter -给js的 "class"自动增加一个set的属性(方法)
兼容firefox的 outerHTML,FF中没有outerHtml的方法 代码如下: if (window.HTMLElement) { HTMLElement.prototype.__defineSetter__(“outerHTML”,function(sHTML) { var r=this.ownerDocument.createRange();...
Mozilla中独有的读写器(defineGetter、defineSetter)以及可以给Element,Event等加上prototype原型,使得在IE里用的方法同样在Mozilla中可以适用,下面贴出常用的一些代码 例如 obj.insertAdjacentHTML, ...
写注释不是我的强项,有什么问题请在评论中写出来:D 写一个JS class时,如 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]为了容易理解代码,以及更好的区分public和private的变量,我通常用set…方法(…为某...
defineGetter / defineSetter ) 看: 如何使用: 步骤 1. 安装 npm install webpack2-polyfill-plugin --save 步骤 2. 在你的 webpack 配置中使用插件 var Webpack2Polyfill = require ( "webpack2-polyfill-plugin...
代码如下: if (window.HTMLElement) { HTMLElement.prototype.__defineSetter__(“outerHTML”,function(sHTML) { var r=this.ownerDocument.createRange(); r.setStartBefore(this); var df=r....