详情请仔细研读注释,这里就废话少说,直接上代码了。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>测试文档</title> <script type="text/javascript"> // 实质上属性和方法是一样的,方法是属性为引用型的函数。 //一个对象有4种属性: // 1,构造函数通过this关键字定义的属性 // 2,构造函数通过var关键字定义的属性 // 3,构造函数的原型对象添加的属性 // 4,对象动态添加的属性 //实例的公有属性:1 通过this关键字定义的属性 可访问 1,2,3,4 //实例的私有属性:2 通过var关键字定义的属性。 可访问 2 //实例的共享属性:3 通过实例指向的原型添加的属性。 可访问 1,3,4 //实例的静态属性:4 对象动态添加的属性。 可访问 1,3,4//总结: // 实例属性:1,公有 // 2,私有 // 4,静态 // 原型属性:3,共享
//this定义的为特权属性。全部可访问 //var定义的为私有属性。 //动态添加的属性为公有属性。不可访问私有属性
//实例对象指向的原型属性为原型属性。不可访问私有属性,优先级低于公有属性
//实例属性主要有公有属性和特权属性构成。均可被外部和原型属性访问。主要区别在于是否可访问私有属性 //原型属性优先级低于实例属性。可被外部访问和实例属性访问(除私有属性)
//-----------------此处为分割线----------------------------- // 公有属性:对象暴露给外部环境的属性。也是对象的属性。 // 私有属性:对象内部的属性,往往不可访问.在构造函数层面上考虑才有意义。 // 静态属性:动态添加的属性。也是对象的属性。 // 共有属性:所有构造函数生成的实例所共享的属性。
function User(){ // 公有属性:每new一个User实例对象,都有的属性。 // 为实例属性,所有实例的属性不共享内存。 // 外部可访问。 this.name='byronvis'; // 特权方法:每new一个User实例对象,都有的方法。 // 为实例方法,所有实例的方法不共享内存。 // 外部可访问。 // 可访问公有属性。 // 可访问私有属性。 this.sayName=function(){ alert(this.name); alert(this.school); alert(age);//变量声明会自动提前。 alert(this.sex); }; // 私有属性:外部不可访问。 // 仅对构造函数有意义,对于new的User实例对象无意义。 var age=22; // 私有方法:外部不可访问。 // 仅对构造函数有意义,对于new的User实例对象无意义。 function sayAge(){ alert(age); } sayAge(); } // 共有属性: 共享内存。 User.prototype.school='zky'; // 共有方法:可访问公有属性。 // 共享内存。 User.prototype.saySchool=function(){ alert(this.school); alert(this.name); alert(this.sex); alert(age); }; var obj=new User(); // 静态属性:就是动态添加的实例属性。 obj.sex='man'; // 静态方法:就是动态添加的实例方法。 obj.saySex=function(){ alert(this.sex); alert(this.name); alert(this.school); alert(age); }; //-----------------此处为分割线----------------------------- //// 证明this关键字定义的属性和动态添加的属性本质上一样的,都可认为是实例对象的公有属性。 // 验证: this关键字定义的属性访问动态添加的属性 // obj.sayName();//true // 验证:动态添加的属性访问this关键字定义的属性 // obj.saySex();//true // 验证:公有属性访问私有属性 // obj.sayName();//true obj.saySex();//false // 验证:共享属性访问私有属性 // obj.saySchool();//false
</script> </head> <body> 测试文档 </body> </html>
小伙伴们是否看明白了,了解了实例属性和原型属性了吗?本文讲述的非常的详细,推荐给大家,希望对小伙伴们能有所帮助
本文向大家介绍JavaScript检测实例属性, 原型属性,包括了JavaScript检测实例属性, 原型属性的使用技巧和注意事项,需要的朋友参考一下 0.前提 JavaScript对象的属性分为两种存在形态. 一种是存在实例中, 另一是存在原型对象中. 根据上述, 检测属性的时候会出现4种情况 既不存在实例中, 也不存在原型对象中 存在实例中, 不存在原型对象中 不存在实例中, 存在原型对象中
由于Python是动态语言,根据类创建的实例可以任意绑定属性。 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(object): def __init__(self, name): self.name = name s = Student('Bob') s.score = 90 但是,如果Student类本身需要绑定一个属性呢?可
主要内容:类变量(类属性),实例变量(实例属性),局部变量无论是类属性还是类方法,都无法像普通变量或者函数那样,在类的外部直接使用它们。我们可以将类看做一个独立的空间,则类属性其实就是在类体中定义的变量,类方法是在类体中定义的函数。 前面章节提到过,在类体中,根据变量定义的位置不同,以及定义的方式不同,类属性又可细分为以下 3 种类型: 类体中、所有函数之外:此范围定义的变量,称为类属性或类变量; 类体中,所有函数内部:以“self.变量名”的方式定义的
问题内容: 我是python的新手,了解到类属性就像C ++中的静态数据成员一样。但是,尝试以下代码后,我感到困惑: f2.a是否也等于5? 如果将a定义为列表而不是整数,则预期行为: 我研究了 Python:类和实例属性之间的区别,但是它不能回答我的问题。 谁能解释为什么会有所不同?谢谢 问题答案: 在第二个示例中,您没有做相同的事情。在第一个示例中,您要分配一个新值: 在第二个示例中,您只是在
下表列出了 4 个常见的明星人物: 姓名 年龄 周润发 58 成龙 55 刘德华 53 周星驰 54 进行归纳总结: 这些人物具有较高的知名度,把这些人物归类为明星; 每个明星两个属性:姓名和年龄。明星这个群体具有一个属性:数量,在这张表格中,明星的数量是 4; 姓名和年龄等属性是用于描述具体的一个对象(例如:周润发),而人物的数量是用于描述明星这个类别。 如果使用面向对象技术对以上实体进行描述,
本文向大家介绍Android clipChildren属性实例详解,包括了Android clipChildren属性实例详解的使用技巧和注意事项,需要的朋友参考一下 前言 前几天有在微博上推荐过一个博客,看他文章时发现了这个属性。有些属性不常用,但需要的时候非常有用,于是做了个例子,正好项目用到,与大家分享一下。 正文 一、效果图 看到这个图时你可以先想想如果是你,你怎么实现这个效果。