JavaScript之函数实例属性和类属性
来源:互联网 发布:淘宝怎么玩赚钱 编辑:程序博客网 时间:2024/06/05 20:40
根据函数中声明的方式,函数中变量有3种:
1) 局部变量:在函数中以普通方式声明的变量,包括以var或不加任何前缀声明的变量。
2) 实例属性:在函数中以this前缀修饰的变量
3) 类属性:在函数中以函数名前缀修饰的变量
实例属性和类属性则是面向对象的概念:实例属性是属于单个对象的,因此必须通过对象来访问;类属性是属于整个类(也就是函数)本身的,因此必须通过类(也就是函数)来访问。
同一个类(也就是函数)只占用一块内存,因此每个属性将只占用一块内存;同一个类(也就是函数)每创建一个对象,系统将会为该对象的实例属性分配一块内存。看下面的代码。
<script type="text/javascript">// 定义函数Personfunction Person(national, age){// this修饰的变量为实例属性this.age = age;// Person修饰的变量为类属性Person.national =national;// 以var定义的变量为局部变量var bb = 0;}// 创建Person的第一个对象p1。国籍为中国,年纪为29var p1 = new Person('中国' , 29);document.writeln("创建第一个Person对象<br />");// 输出第一个对象p1的年纪和国籍document.writeln("p1的age属性为" + p1.age + "<br />");document.writeln("p1的national属性为" + p1.national + "<br />");document.writeln("通过Person访问静态national属性为" + Person.national + "<br />");// 输出bb属性document.writeln("p1的bb属性为" + p1.bb + "<br /><hr />");// 创建Person的第二个对象p2var p2 = new Person('美国' , 32);document.writeln("创建两个Person对象之后<br />"); // 再次输出p1的年纪和国籍document.writeln("p1的age属性为" + p1.age + "<br />");document.writeln("p1的national属性为" + p1.national + "<br />");// 输出p2的年纪和国籍document.writeln("p2的age属性为" + p2.age + "<br />");document.writeln("p2的national属性为" + p2.national + "<br />");// 通过类名访问类属性document.writeln("通过Person访问静态national属性为"+ Person.national + "<br />");</script>
执行的结果:
0 0
- JavaScript之函数实例属性和类属性
- JavaScript函数的实例属性和类属性
- javascript中的原型属性和实例属性
- 实例属性和类属性
- 类属性和实例属性
- javascript 全局属性和函数
- Javascript进阶:对象实例属性和方法
- 关于类属性和实例属性
- python 实例属性和类属性
- python的类属性和实例属性
- python的类属性和实例属性
- python的类属性和实例属性
- python 类属性和实例属性
- python中的类属性和实例属性
- python的类属性和实例属性
- python的类属性和实例属性
- Python类属性和实例属性
- Java的类属性和实例属性
- Manifest merger failed : Attribute application@label value=(@string/app_name)
- ob中内置join的意义
- [HDU 4334] Trouble (分治+二分查找)
- Spring+SpringMVC+MyBatis
- mysqldump导入导出数据库总结
- JavaScript之函数实例属性和类属性
- 第一篇博客,记录一下开始
- 线段树入门HDU_1754
- 虚幻4 Function Library
- 剑指offer-面试题3.二维数组中的查找
- AlertDialog 自定义布局点击按钮消失方法
- DE1-SOC开发之路--安装ubantu系统
- grep操作
- 并查集 水题