首页 文章

'onreadystatechange',_1188466_和'status'是javascript函数对象的隐式属性吗?

提问于
浏览
-1

使用ajax时,我们使用某些“单词”作为JavaScript中的协议检查 . 但如果我是对的,那么每个函数都是JS中的一个对象 . 因此,当创建新的函数实例时,例如,

var xhr = new XMLHttpRequest();

这意味着我们创建了一个新的函数实例 . 现在,在做检查时,我们写了

xhr.onreadystatechange

xhr.readyState

并且

xhr.status

我们使用点' . '使用xhr的运算符将它们反映为readyStateChange()函数对象的属性 . 那么,......这是否意味着这些术语是JS函数对象的隐式属性?

谢谢

3 回答

  • 0

    这些属性继承自 XMLHttpRequestprototype ,而不是 Function 对象的常规属性 . 此外, new XMLHttpRequest() 返回非函数 Object .

    let func = new Function()
    let xhr = new XMLHttpRequest()
    
    console.log(func.__proto__)
    console.log(xhr.__proto__)
    
    console.log(func instanceof Function)
    console.log(xhr instanceof Function)
    
  • 1

    这通常通过javascript中的 prototypal inheritance 来实现 .

    你可以在网上找到很多关于这方面的信息,例如开始阅读here .

  • 0

    onreadystatechange,readyState,responseText,responseXML,status,statusText是6个XMLHttpRequest对象属性

    当我们创建XMLHttpRequest的原型时,这些属性也会继承它

    Hence when created a new function instance, e.g., var xhr = new XMLHttpRequest(); ???

    不,这里我们创建了一个XMLHttpRequest类型的对象

相关问题