JavaScript中Get和Set訪問器的實現

2021-09-06 13:20:57 字數 1332 閱讀 9391

我們常用的實現方法可能是這樣的:

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關鍵字暴露給系統中的其他類了,而...