问题描述
首先,大家都知道有一个Object.defineProperty()的方法,可以给某个对象赋值的时候设置一些参数。那么input元素对象也是一个对象,并且也有一个属性值value。那为什么在使用Object.defineProperty()会报错。
var inn = document.getElementById("search_form_input");//一个input元素
inn.nodeType;// 1 elementNode
inn.value;//输出input的当前值
typeOf(inn);//object
//所以既然是一个对象,那么是否可以使用Object.defineProperty()呢
Object.defineProperties(inn,'value',{
set:function(){
return console.log("setting inn value")
}
})
报错如下
DOM对象和{}的区别
翻了翻红宝书,一时之间没有找到想要答案,求大神指点迷津,不胜感激!!!
已经意识到问题,我应该是想要使用Object.defineProperty(obj,pro,{})这个方法的,错误写成Object.defineProperties()这个方法了。低级错误低级错误