mirror of
https://github.com/ylw00/qxVm.git
synced 2025-04-12 12:06:58 +08:00
42 lines
1.8 KiB
JavaScript
42 lines
1.8 KiB
JavaScript
HTMLCollection = function HTMLCollection(createObj_key) {//构造函数
|
|
if (createObj_key !== lwVm.memory.$createObj_key) {
|
|
throw new TypeError("Illegal constructor");
|
|
};
|
|
}; lwVm.safefunction(HTMLCollection);
|
|
|
|
; (function () {
|
|
const $safe_get_attribute = ['length'];
|
|
const $safe_set_attribute = [];
|
|
const $safe_func_attribute = ['item', 'namedItem'];
|
|
|
|
HTMLCollection.prototype = {
|
|
item(index) {
|
|
if (!HTMLCollection.prototype.isPrototypeOf(this)) { throw new TypeError("Illegal constructor"); };
|
|
let result = this[index];;
|
|
if (lwVm.config.logOpen=== true) lwVm.logAdd('Func', 'HTMLCollection', 'item', arguments, result);
|
|
return result;
|
|
},
|
|
get length() {
|
|
if (!HTMLCollection.prototype.isPrototypeOf(this)) { throw new TypeError("Illegal constructor"); };
|
|
let result = Object.keys(this).length;
|
|
if (lwVm.config.logOpen=== true) lwVm.logAdd('Get', 'HTMLCollection', 'length', arguments, result);
|
|
return result;
|
|
},
|
|
namedItem(name) {
|
|
if (!HTMLCollection.prototype.isPrototypeOf(this)) { throw new TypeError("Illegal constructor"); };
|
|
let result = this[name];;
|
|
if (lwVm.config.logOpen=== true) lwVm.logAdd('Func', 'HTMLCollection', 'namedItem', arguments, result);
|
|
return result;
|
|
}
|
|
};
|
|
lwVm.set_iterator(HTMLCollection);
|
|
lwVm.rename(HTMLCollection.prototype, "HTMLCollection");
|
|
lwVm.safeDescriptor_addConstructor(HTMLCollection);
|
|
lwVm.safe_Objattribute(HTMLCollection, $safe_get_attribute, $safe_set_attribute, $safe_func_attribute);
|
|
|
|
// 创建一个放到框架内存(模拟全局变量), 便于后续得其他引用操作
|
|
lwVm.memory.htmlCollection = new HTMLCollection(lwVm.memory.$createObj_key);
|
|
|
|
})();
|
|
|