Skip to content

Instantly share code, notes, and snippets.

@ynakajima
Created April 15, 2011 04:30
Show Gist options
  • Save ynakajima/921141 to your computer and use it in GitHub Desktop.
Save ynakajima/921141 to your computer and use it in GitHub Desktop.
クロスブラウザ用ゲッターセッター関数
/**
* クロスブラウザ用ゲッターセッター関数
* @param {Object} obj ゲッターセッターを設定したいオブジェクト
* @param {String} name ゲッターセッタープロパティ名
* @param {Function} setter セッター関数
* @param {Function} getter ゲッター関数
*/
var defineSetterGetter = function(obj, name, setter, getter) {
//__defineSetter__が未定義かつObject.definePropertyが有効な場合
if (!Object.prototype.__defineSetter__ && Object.defineProperty({},"x",{get: function(){return true}}).x) {
Object.defineProperty(obj,name, {
set: setter,
get: getter
});
} else if(Object.prototype.__defineSetter__) {
obj.__defineSetter__(name, setter);
obj.__defineGetter__(name, getter);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment