我們常用的實現方法可能是這樣的:
function
field(val);
this
.setvalue
=function
(val);
}var
field
=new
field(
"test");
field.setvalue(
"test2")
field.getvalue()
//return "test2"
標準的get和set訪問器的實現:
function
field(val)
field.prototype =,
set value(val)
};var
field
=new
field(
"test");
field.value="
test2";
// field.value will now return "test2"
在dom元素上get和set訪問器的實現:
htmlelement.prototype.__definegetter__(
"description",
function
() );
htmlelement.prototype.__definesetter__(
"description",
function
(val) );
document.body.description ="
beautiful body";
// document.body.description will now return "beautiful body";
object.defineproperty(obj, prop, descriptor)obj:目標物件
prop:需要定義的屬性或方法的名字。
descriptor:目標屬性所擁有的特性。
var lost =;
object.defineproperty(lost,
"location
", ,
set :
function
(val)
});lost.location ="
another island";
// lost.location will now return "another island"
Javascript中call和apply的區別
如下 function add a,b function reduce a,b add.call reduce,1,3 將add方法運用到reduce,結果為4 如下例 如下 複製 function b b window b.call window b.call a 2,3 a 再看乙個複雜的例子 ...
JavaScript中apply和call的理解
這兩個方法作用是相同,只是用法不同,null 代表不需要改變this的指向 console.log math.max.call null,1,2,3,4,5,6,1000 var obj1 var obj2 window.name window var getname function getnam...
關於C 中get和set
在程式中經常碰到get set,不甚明白,在網上查詢時也說的迷迷糊糊,所以整理下,以學的明白透徹點。有兩個類person public class person public class person 第乙個型別的name屬性未封裝,其name屬性直接通過public關鍵字暴露給系統中的其他類了,而...