......
function Xtool(id, msg ) {
this.id=id;
this.msg=msg;
}
....
new Xtool("x1","1234567")
然后js 如何找個物件?
能不能這樣找嗎? eval("x1") , document.getElementById("x1")
但是不行. 如何找?
uj5u.com熱心網友回復:
自定義的物件是不能通過id之類的屬性查找的,只能 new Xtool("x1","1234567") 的回傳值獲取物件。uj5u.com熱心網友回復:
js物件跟dom樹不同,js物件在記憶體中你不回傳地址,你怎么去使用呢uj5u.com熱心網友回復:
單個物件創建可以用變數來存放,var xtool = new Xtool('a','1111');這樣xtool就是代表剛創建的物件了
如果要創建多個物件的話可以用陣列來存放,也可以用字典來存放,如果id是不重復的字典就很方便了。
例如:dic['a'] = new Xtool('a','1111');
dic['a']就是新物件了
uj5u.com熱心網友回復:
明白了, 謝謝.追問下, 如何給element 添加方法, 添加事件?
function initMy() {
this,style.diasplay=""
...
}
然后能這樣用
Adiv.initMy()
多出個事件
Adiv.OnchangeStyle=function ()
uj5u.com熱心網友回復:
用apply或者call來呼叫程式,不然this的指向不正確
或者用initMy(Adiv)來呼叫,function initMy(obj){obj.ooo.xxxx……}
uj5u.com熱心網友回復:
function initMy (ele) {
this.ele = ele;
this.init();
this.regEvent();
}
initMy.prototype.init = function () {
this.ele.style.display = ''
}
initMy.prototype.regEvent = function () {
this.ele.onclick = function() {}
}
uj5u.com熱心網友回復:
真正給element添加方法<div id="Adiv">
zzzzzzzzz
</div>
<script type="text/javascript">
HTMLElement.prototype.initMy = function () {
this.style.backgroundColor = "red";
}
document.getElementById("Adiv").initMy();
</script>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/265236.html
標籤:JavaScript
上一篇:請問vue3中從父組件傳入子組件的資料使用v-model系結報錯怎么辦
下一篇:js一個簡單問題,大佬求救
