张孝详javascript讲座笔记五
2010-03-09 22:04
309 查看
一,javascript中的对象
。对象和对象实例
1,对象是对某一类事物的描述,是抽象上的概念,而对象实例是一类事物中的具体个例。(这里对象相当于java,c++中的类的概念)
2,能够被用来创建对象实例的函数就叫做对象的构造函数,只要定义了一个对象的构造函数就等于定义了一个对象,使用new关键字和对象的构造函数就可以创建对象的实例。
var objInstance = new ObjName(传递给该对象的实际参数列表);
eg:
二,构造方法与this关键字
1,为一个对象实例增加的属性和方法,不会增加到同一个对象所产生的其他对象实例。(即对象实例之间是独立的,互不影响的)
2,所有的实例对象在创建后都会自动调用构造函数,在构造函数中增加的属性和方法会被增加到每个对象实例上。
3,对象实例是用new关键字创建的,在构造函数中不要有返回结果的return语句。
4,调用对象的成员方法时,需要使用“对象实例.成员方法”的形式,很显然,用作成员方法的函数被调用的时候,一定伴随有某个对象实例。this关键字代表某个成员方法执行时,引用该方法的当前对象实例,所以,this关键字只在用作对象成员方法的函数中出现。
eg:
三,在函数中修改参数值的问题(也就是输出参数的情况)
1,将基本数据类型的变量作为函数参数传递的情况
2,若将对象类型的变量作为函数参数传递的情况。
。对象和对象实例
1,对象是对某一类事物的描述,是抽象上的概念,而对象实例是一类事物中的具体个例。(这里对象相当于java,c++中的类的概念)
2,能够被用来创建对象实例的函数就叫做对象的构造函数,只要定义了一个对象的构造函数就等于定义了一个对象,使用new关键字和对象的构造函数就可以创建对象的实例。
var objInstance = new ObjName(传递给该对象的实际参数列表);
eg:
<script type="text/javascript"> <!-- //构造函数,定义了一个构造函数即定义了一个对象 function Person() { } //创建一个对象实例 var person1 = new Person(); //为对象实例增加新的成员并赋值,以后就可以用这些成员 //用对象实例名.成员名,也可以对象实例['成员变量名'] person1.age = 18; person1.name = 'zxx'; alert(person1.name = ';' + person1.age); function sayFunc() { alert(peson1.name + ':' + person1.age); } //为对象实例增加新的方法 person1.say = sayFunc; person1.say(); // --> </script>
二,构造方法与this关键字
1,为一个对象实例增加的属性和方法,不会增加到同一个对象所产生的其他对象实例。(即对象实例之间是独立的,互不影响的)
2,所有的实例对象在创建后都会自动调用构造函数,在构造函数中增加的属性和方法会被增加到每个对象实例上。
3,对象实例是用new关键字创建的,在构造函数中不要有返回结果的return语句。
4,调用对象的成员方法时,需要使用“对象实例.成员方法”的形式,很显然,用作成员方法的函数被调用的时候,一定伴随有某个对象实例。this关键字代表某个成员方法执行时,引用该方法的当前对象实例,所以,this关键字只在用作对象成员方法的函数中出现。
eg:
<script type="text/javascript"> <!-- function Person(name, age) { this.age = age; this.name = name; this.say = sayFunc(); } function sayFunc() { alert(this.name + ',' + this.age); } var person1 = new Person('张三',18); person1.say(); var person2 = new Person('李四',20); person2.say(); // --> </script>
三,在函数中修改参数值的问题(也就是输出参数的情况)
1,将基本数据类型的变量作为函数参数传递的情况
<script type="text/javascript"> <!-- function changeValue(x) { x = 5; } var x = 3; changeValue(x); alert(x); //x=3 // --> </script>
2,若将对象类型的变量作为函数参数传递的情况。
<script type="text/javascript"> <!-- function Person(name,age) { this.age = age; this.name = name; this.say = sayFunc; } function sayFunc() { alert(this.name + ':' + this.age); } function change(p1) { p1.name = '李四'; } var person1 = new Person('张三',18); change(person1); person1.say(); //此时name为'李四' // --> </script>
相关文章推荐
- 张孝详javascript讲座笔记一
- 张孝详javascript讲座笔记四
- 张孝详javascript讲座笔记二
- 张孝详javascript讲座笔记三
- 张孝详javascript讲座笔记
- 张孝详javascript讲座笔记六(结局篇)
- Java笔记--Web前端知识汇总之三 JavaScript
- JavaScript笔记之用链接对用户进行重定向
- JavaScript高级程序设计 阅读笔记(十五) 浏览器中的JavaScript
- [label][JavaScript]闭包阅读笔记
- javascript看视频笔记
- JavaScript 笔记(7) -- 在HTML中嵌入 js (外部引用)
- <如何做一名合格的研究生>讲座笔记
- JavaScript笔记 语言基础
- 书写JavaScript的一些规范(笔记)
- js-JavaScript高级程序设计学习笔记4
- java入门笔记二:javascript中的原型链
- 由2003年的一篇讲座笔记
- JavaScript--基于对象的脚本语言学习笔记(一)
- 用Javascript开发《三国志曹操传》-开源讲座(三)-人物对话中,仿打字机输出文字