国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

Object對象的一些的隱藏函數介紹

2024-05-04 11:05:23
字體:
來源:轉載
供稿:網友

在javascript中,數據類型主要分為原始類型和引用類型,所有引用類型都來自對象的副本,本文是錯新技術頻道小編給大家帶來的Object對象的一些的隱藏函數介紹,一起來看看吧!
該屬性被定義在類的prototype中,當對象實例創建后通過__proto__鏈可被對象實例所調用,并指向當前類的構造函數。以此可判斷某個對象直接所屬的類是哪個(與instanceof不同,instanceof并不局限于對象直接所屬的類,即使是父類也返回true)。
[示例]
trace(Object.prototype.constructor?==?Object);??//輸出?true
var?a?=?new?Object();
trace(a.constructor?==?Object);??//輸出?true
var?b?=?new?Array();
trace(b.constructor?==?Array);??//輸出?true
trace(b.constructor?==?Object);??//輸出?false
trace(b?instanceof?Object);??//輸出?true
屬性:Object.__constructor__
該屬性功能和Object.constructor相似,區別在于它不是定義在類的prototype中的,而是當對象實例創建時附加到對象實例上的。同時,該屬性也被super關鍵字作為父類構造函數使用時所隱含調用,用于指向父類的構造函數,即super(...)等價于?this.__constructor__.call(this,?...)。
[示例]
trace(Object.prototype.__constructor__?==?Object);??//輸出?false
var?a?=?new?Object();
trace(a.__constructor__?==?Object);??//輸出?true
var?b?=?new?Array();
trace(b.__constructor__?==?Array);??//輸出?true
trace(b.__constructor__?==?Object);??//輸出?false
方法:Object.isPrototypeOf(classFunc)
該方法用來判斷當前對象是否在對象obj的__proto__鏈中。該方法可用來判斷一個類是否另一個類的父類或子類。
[示例]
trace(Object.prototype.isPrototypeOf(new?Object()));??//輸出?true
trace(Object.prototype.isPrototypeOf(new?Array()));??//輸出?true
trace(Array.prototype.isPrototypeOf(new?Object()));??//輸出?false
trace(Object.prototype.isPrototypeOf(Array.prototype));??//判斷Object是否Array的父類,輸出?true
方法:Object.isPropertyEnumerable(propName)
該方法用來判斷名為propName的成員是否在當前對象中存在并且可被列舉(使用for..in),換句話說也就是是否可見(使用ASSetPropFlags全局函數可設置對象屬性是否可見)。
[示例]
var?a?=?{x:1,?y:2};
ASSetPropFlags(a,?["y"],?1);??//設y為不可見
trace(a.y);??//仍可輸出?2
for?(var?i?in?a)?trace(i);??//僅輸出?x
trace(a.isPropertyEnumerable("x"));??//輸出?true
trace(a.isPropertyEnumerable("y"));??//輸出?false
方法:Object.hasOwnProperty(propName)
該方法用來判斷名為propName的成員是否是當前對象自己的成員,而非通過__proto__鏈從類的prototype中引用過來的。
[示例]
function?test?()?{}
test.prototype.x?=?1;
var?a?=?new?test();
a.y?=?2;
trace(a.x);??//輸出?1
trace(a.hasOwnProperty("x"));??//輸出?false
trace(a.y);??//輸出?2
trace(a.hasOwnProperty("y"));??//輸出?true
方法:Object.toString()
該方法可定義一個對象在轉換成字符串類型時所產生的字符串結果,一般定義在類的prototype中。
[示例]
function?point?(x,?y)?{
?this.x?=?x;
?this.y?=?y;
}
point.prototype.toString?=?function?()?{
?return?"[x:"?+?this.x?+?",?y:"?+?this.y?+?"]";
};
var?pos?=?new?point(10,?20);
trace("position?is?"?+?pos);??//輸出?position?is?[x:10,?y:20]?

以上就是關于Object對象的一些的隱藏函數介紹,相信大家已經有了清晰的了解,更多的技術頻道的知識盡在錯新技術頻道!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凤凰县| 库伦旗| 通化县| 万山特区| 务川| 晴隆县| 黑龙江省| 隆德县| 乐安县| 肃宁县| 阿城市| 铜川市| 喜德县| 上栗县| 改则县| 新津县| 平和县| 家居| 南雄市| 冀州市| 扎兰屯市| 珠海市| 水富县| 肇东市| 喀喇沁旗| 百色市| 喀喇| 育儿| 江门市| 突泉县| 北海市| 平利县| 合川市| 福鼎市| 南投县| 无棣县| 綦江县| 泰州市| 金山区| 湟中县| 仲巴县|