使用ajax时,我们使用某些“单词”作为JavaScript中的协议检查 . 但如果我是对的,那么每个函数都是JS中的一个对象 . 因此,当创建新的函数实例时,例如,
var xhr = new XMLHttpRequest();
这意味着我们创建了一个新的函数实例 . 现在,在做检查时,我们写了
xhr.onreadystatechange
和
xhr.readyState
并且
xhr.status
我们使用点' . '使用xhr的运算符将它们反映为readyStateChange()函数对象的属性 . 那么,......这是否意味着这些术语是JS函数对象的隐式属性?
谢谢
3 回答
这些属性继承自
XMLHttpRequest
的 prototype ,而不是Function
对象的常规属性 . 此外,new XMLHttpRequest()
返回非函数Object
.这通常通过javascript中的
prototypal inheritance
来实现 .你可以在网上找到很多关于这方面的信息,例如开始阅读here .
当我们创建XMLHttpRequest的原型时,这些属性也会继承它
Hence when created a new function instance, e.g., var xhr = new XMLHttpRequest(); ???
不,这里我们创建了一个XMLHttpRequest类型的对象