张孝详javascript讲座笔记五
一,javascript中的对象
。对象和对象实例
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,将基本数据类型的变量作为函数参数传递的情况
&
相关文档:
/*检查是否选中复选框2010年3月6日10:36:48*/
function checkSelect(id, msg){
var checks = $(id).getElementsByTagName("input");
var flag=false;
if(checks.length!=null){
for(var i=0;i<checks.length;i++){
if(checks[i].type=="checkbox" && checks[i].checked= ......
javascript
对象的property和prototype
是
这样一种关系
ECMAScript可以识别两种类型的对象,一种叫做Native Object属于语言范畴;一种叫做Host Object,由运行环境提
供例如document对象,
Dom Node等
Native objects是一种松散的结构并且可以动态的增加属性(property),所有的属性都有一个名字和一个值,这个值 ......
经过前段时间,学习《ajax完全自学手册》后,才知道javascript原来还可以这么写。
学过java,c#,vb的都知道类的概念,而类具有继承、封装、多态等功能。而javascript它不是面向对象语言,它是解释性语言。
但我们同样可以使用javascript来实现继承、多态。
javascript实现类,有多种方法。
方法一:构造方法。
......
1、isPrototypeOf
isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的原型链中,是则返回true,否则返回false。
格式如下:
object1.isPrototypeOf(object2);
object1是一个对象的实例;
object2是另一个将要检查其原型链的对象。
原型链可以用来在同一个对象类型的不同实例之间共享功能。 ......