问个关于prototype属性的问题

问题描述

function Person () { Person.prototype = { aa : "ss" } } var p = new Person(); alert(p.aa); 结果为undefined 但是若改为  Person.prototype.ss= “test” 就可以了

解决方案

function Person () { Person.prototype ={ bb:"ss" }; } var p = new Person(); alert(p.bb); var p2 = new Person(); alert(p2.bb);简单说,prototype就是Function一个属性,所有的对象都会引用这个属性,而这个属性是在对象构造的时候赋值给对象引用的,因此你替换了Function的prototype对象,其实并没有替换已生成的对象的prototype

时间: 2024-11-05 06:04:12

问个关于prototype属性的问题的相关文章

prototype 属性

  返回对象类型原型的引用. objectName.prototype objectName 参数是对象的名称. 说明 用 prototype 属性提供对象的类的一组基本功能. 对象的新实例"继承"赋予该对象原型的操作. 例如,要为 Array 对象添加返回数组中最大元素值的方法. 要完成这一点,声明该函数,将它加入 Array.prototype, 并使用它. function array_max( ){   var i, max = this[0];   for (i = 1; i

在定义一个js类的时候,为什么要设置该类的prototype属性为它所要继承的类的

在定义一个js类的时候,为什么要设置该类的prototype属性为它所要继承的类的实例对象 在写JavaScript类定义的时候,大家很可能都写过下面的代码: function A() {} function B() {} B.prototype = new A() 上面这样写是为了让instanceof语句能起作用.举个例子: 1.不重写子类的prototype属性 b = new B(); b instanceof B //return true b instanceof A // retu

Javascript中prototype属性实现给内置对象添加新的方法

  本文实例讲述了Javascript中prototype属性实现给内置对象添加新的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" con

JavaScript中通过prototype属性共享属性和方法的技巧实例

 这篇文章主要介绍了JavaScript中通过prototype属性共享属性和方法的技巧实例,本文直接给出一个代码实例,需要的朋友可以参考下     具体代码如下:   代码如下: //定义函数 function people(name,sex,age){ this.name = name; this.sex = sex; this.age = age; } //共享isStudent与sayName方法 people.prototype = { isStudent:true, sayName:

Png 位深度 问和windows右键属性中看到的不一致

问题描述 Png 位深度 问和windows右键属性中看到的不一致 不管上边图片中位深度是8还是32或者64,我读取PNG文件头部中的bit depth栏位都是8,请高手指明这两者不是同一个东西吗,那它们分别是神马玩意儿?感谢 解决方案 图像深度: 索引彩色图像:1,2,4或8 灰度图像:1,2,4,8或16 真彩色图像:8或16 这个64应该怎么算,png是4个通道每个通道都是16,就是64

理解JavaScript的prototype属性_javascript技巧

其实,关于prototype只要几句话就可以总结: 任何原型都是对象,只有对象有原型 只有Function有prototype属性,它是这个Function作为构造器时生成对象所继承的原型.Function的原型和它的prototype属性无关 对象的原型可以通过非标准的属性 __proto__ 或ECMAScript5的方法 Object.getPrototypeOf() 访问. 1其实是错的,Object这个原型链尽头的对象它没有原型.可是为了更简单表述.在看原型链后你就会明白.toStri

JavaScript prototype属性详解_javascript技巧

每个函数都有一个prototype属性,这个属性是指向一个对象的引用,这个对象称为原型对象,原型对象包含函数实例共享的方法和属性,也就是说将函数用作构造函数调用(使用new操作符调用)的时候,新创建的对象会从原型对象上继承属性和方法. 私有变量.函数在具体说prototype前说几个相关的东东,可以更好的理解prototype的设计意图.之前写的一篇JavaScript 命名空间博客提到过JavaScript的函数作用域,在函数内定义的变量和函数如果不对外提供接口,那么外部将无法访问到,也就是变

javascript中的prototype属性使用说明(函数功能扩展)_javascript技巧

这是一个比较特殊的属性,Javascript中的继承一般都依赖这属性实现. 在Javascript中,一切都是对象,字符串是对象,数组是对象,变量是对象,函数也是对象,所以才会允许['a','b','c'].push('d');这样的操作存在.类本身也是一个对象,也可以定义属性和方法: 复制代码 代码如下: function Test(){}; Test.str = 'str'; Test.fun = function(){return 'fun';}; var r1 = Test.str; /

javascript中的prototype属性实例分析说明_javascript技巧

在Javascript中,一切都是对象,字符串是对象,数组是对象,变量是对象,函数也是对象,所以才会允许['a','b','c'].push('d');这样的操作存在.类本身也是一个对象,也可以定义属性和方法: 复制代码 代码如下: function Test(){}; Test.str = 'str'; Test.fun = function(){return 'fun';}; var r1 = Test.str; // str var r2 = Test.fun(); // fun var