Javascript中获取对象的原型对象的方法小结_javascript技巧

在Javascript中,如果我们有一个对象但是又不知道它的构造函数时,如何获取它的原型对象呢?

在Chrome中或是FireFox浏览器中,我们可以直接使用对象的__proto__属性获取它的原型对象。

复制代码 代码如下:

<!-- lang: js -->
function F(){};
var foo = new F();
alert(foo.__proto__ == F.prototype);

但是,__proto__属性在IE浏览器中一直到IE11才被支持。

那么在不支持__proto__属性的浏览器中,我们怎么得到对象的原型对象呢?可以通过constructor间接得到。

复制代码 代码如下:

<!-- lang: js -->
function F(){};
var foo = new F();
alert(foo.constructor.prototype == F.prototype);

constructor属性不是对象自己的属性,而是顺着原型链向上从原型对象中获取的。这个属性指向的是这个原型对象所对应的构造函数。而构造函数的prototype属性指向了原型对象, 所以这样我们就可以间接得到了。

以上所述就是本文关于javascript中获取原型对象的全部内容了,希望大家能够喜欢。

时间: 2024-09-24 19:28:45

Javascript中获取对象的原型对象的方法小结_javascript技巧的相关文章

JS获取几种URL地址的方法小结_javascript技巧

以下为JS获取几种URL地址的方法 复制代码 代码如下: thisURL = document.URL;thisHREF = document.location.href;thisSLoc = self.location.href;thisDLoc = document.location; thisTLoc = top.location.href;thisPLoc = parent.document.location;thisTHost = top.location.hostname;thisH

javascript中break,continue和return语句用法小结_javascript技巧

由于最近一直在看javascript,下面简要说一下它们三个在javascript的一些用法 break语句: break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句.由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的. 如果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多. [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] continue语句

Js 获取HTML DOM节点元素的方法小结_javascript技巧

如何获取要更新的元素,是首先要解决的问题.令人欣慰的是,使用JavaScript获取节点的方法有很多种,这里简单做一下总结(以下方法在IE7和Firefox2.0.0.11测试通过)1. 通过顶层document节点获取:          (1) document.getElementById(elementId) :该方法通过节点的ID,可以准确获得需要的元素,是比较简单快捷的方法.如果页面上含有多个相同id的节点,那么只返回第一个节点.             如今,已经出现了如proto

JS获取地址栏参数的几种方法小结_javascript技巧

复制代码 代码如下: <script> // 获取地址栏的参数数组 function getUrlParams() {  var search = window.location.search;  // 写入数据字典  var tmparray = search.substr(1, search.length).split("&");  var paramsArray = new Array;  if (tmparray != null) {   for (var

js中设置元素class的三种方法小结_javascript技巧

一.el.setAttribute('class','abc'); 复制代码 代码如下: <!DOCTYPE HTML> <HTML> <HEAD> <meta charset="utf-8" /> <title>setAttribute('class', 'abc')</title> <style type="text/css"> .abc { background: red; }

Javascript中的for in循环和hasOwnProperty结合使用_javascript技巧

与in操作符相比,for in 在循环对象的属性时也会遍历原型链,for in 不会读取不可枚举属性,如数组的length属性. 小结 当检测某个对象是否拥有某个属性时,hasOwnProperty 是唯一可以完成这一任务的方法,在 for in 循环时,建议增加 hasOwnProperty 进行判断,可以有效避免扩展本地原型而引起的错误. 与in操作符相比,for in 在循环对象的属性时也会遍历原型链,for in 不会读取不可枚举属性,如数组的length属性. 复制代码 代码如下: /

js中获取事件对象的方法小结_javascript技巧

复制代码 代码如下: var evt = window.event || arguments[0]; 下面分三种添加事件的方式讨论,你也许会看到以前没有看到过的获取方式. 1,第一种添加事件的方式,直接在html的属性中写JS代码 复制代码 代码如下: <div onclick="alert(4);">Div1 Element</div> 大概这是上世纪90年代的写法,那时候直接把js代码写在网页中很普遍,也许那时候的js并不太重要,只是用来做做验证或一些花哨的

JavaScript中检查对象property的存在性方法介绍_javascript技巧

在JavaScript中,可以用四种方法来检查某个对象o是否拥有property x: 1."x" in o.in操作符可用于检查对象o中是否有x这个property.x可以是对象自身的(Own Property),也可以是从原型对象中继承而来的:x可以是enumerable的property,也可以是非enumerable的property. 2.o.x.可以通过访问o.x语句,判断其结果是否为undefined来确认x是否存在,其作用范围与in操作符相同.与in操作符不同的是:如果

JavaScript数组Array对象增加和删除元素方法总结_javascript技巧

本文实例总结了JavaScript数组Array对象增加和删除元素方法.分享给大家供大家参考.具体分析如下: pop 方法 移除数组中的最后一个元素并返回该元素. arrayObj.pop( ) 必选的 arrayObj 引用是一个 Array 对象. 说明 如果该数组为空,那么将返回 undefined. shift 方法 移除数组中的第一个元素并返回该元素. arrayObj.shift( ) 必选的 arrayObj 引用是一个 Array 对象. 说明 shift 方法可移除数组中的第一