# object-defineproperty-ie
**Repository Path**: ambit/object-defineproperty-ie
## Basic Information
- **Project Name**: object-defineproperty-ie
- **Description**: 一个 Object.defineProperty 的 IE 补丁,基于 VBScript 实现
- **Primary Language**: JavaScript
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 12
- **Forks**: 2
- **Created**: 2019-02-06
- **Last Updated**: 2025-07-23
## Categories & Tags
**Categories**: javascript-toolkits
**Tags**: None
## README
[简体中文](README.zh-CN.md) | English
# Object.defineProperty Sham For IE 
A `Object.defineProperty` sham based on **VBScript** for IE. It also provides `Object.defineProperties`, `Object.getOwnPropertyDescriptor`, `Object.getOwnPropertyDescriptors`.
#### Notice
1. In IE8, program will use native method `defineProperty` or `getOwnPropertyDescriptor` for `Element` object, `doucment` and `window`
1. In other case, `defineProperty` will return a new VB object
1. For VB object, it will not create new VB object when modifying the existing descriptor
1. VB object can't add or delete properties freely
1. VB object doesn't have `[[Prototype]]` or `__proto__`
1. The property name of VB object can't contain special character `]`
1. The properties of VB object are enumerable, it's unaffected by descriptor `enumerable`
#### Installation
1. Use NPM: `npm install -S object-defineproperty-ie`
1. Download directly: Development Version, Production Version
#### Usage
```html
```
#### Testing
1. Access GitHub Page online
1. Access `docs/index.html` locally
1. Tested in IE6, IE7, IE8
#### Contact Us
1. *WeChat*: ambit_tsai
1. *QQ Group*: 663286147
1. *E-mail*: ambit_tsai@qq.com
#### Reference
1. 迷你MVVM框架avalon在兼容旧式IE做的努力