一.javascript是面向对象的编程语言
1.var s=new Object();
这样就实例化了一个对象
2.构造函数是通过function实现
var s=function Teacher(age,name){
this.name=name;
this.age=age;
}
3.
使用JSON方式可以简单地实现对象定义的功能,
JavaScript Object Notation是JavaScript语言的一个核心特性,它提供了一种简约的机制
用来创建数组和对象图。通常情况下,定义一个数组的方法如下:
myLibrary.books=new Array();
可以通过数组下标向数组赋值,这与Java语言操作数组的方式类似:
myLibrary.books[4]=somePredefinedBook;
也可以通过把名字作为键值引用数组中的元素并赋值,其操作上类似于Java语言中的
HashMap:
myLibrary.books["BestSeller"]=somePredefinedBook;
myLibrary.books={
bestseller : predefinedBook1,
cookbook : predefinedBook2,
spaceFiller : predefinedBook3
};
var myLibrary={
location : "my house",
keywords : [ "root vegetables", "turnip", "tedium" ],
books: [
{
title : "Turnip Cultivation through the Ages",
authors : [
{ name: "Jim Brown", age: 9 },
{ name: "Dick Turnip", age: 312 }
],
publicationDate : "long ago"
},
{
title : "Turnip Cultivation through the Ages, vol. 2",
authors : [
{ name: "Jim Brown", age: 35 }
],
publicationDate : new Date(1605,11,05)
}
]
};
在代码2.28中,为myLibrary对象定义了3个属性:location是一个简单的string类型对
象,keywords是一个string对象数组,books是一个复杂对象数组。books中的每个对象都包
括一个string类型的title属性、一个Date类型的publicationDate属性和一个对象数组authors,
uthors数组每个对象包括name和age两个属性。
4.prototype
通过构造函数的prototype,属性和函数可以关联到对象上。prototype与new关键
字共同工作,当使用new关键字创建一个对象,所有通过prototype方式声明的属性和方法
将被关联的这个对象上来,
prototype是JavaScript对象的一个属性,在通常的面向对象语言如Java中并没有与之等
价的概念。通过构造函数的prototype,属性和函数可以关联到对象上。prototype与new关键
字共同工作,当使用new关键字创建一个对象,所有通过prototype方式声明的属性和方法
将被关联的这个对象上来,如代码2.32所示。
代码2.32 使用prototype声明对象属性和方法
function MyObject(name,size){
this.name=name;
this.size=size;
}
MyObject.prototype.tellSize=function(){
alert("size of "+this.name+" is "+this.size);
}
var myObj=new MyObject("tiddles","7.5 meters");
MyObject.prototype.color="asdfadsf";
可以通过prototype 随意给对象添加属性
二。反射
可以通过typeof instanceof 来确定是否有这个属性 或是对象是否是某个对象
typeof(Myobject。someProperty!=“undefine”)
if(Myobjdect instanceof Object)
三 。 随意定义函数
var s=function done(){
}
四。 事件的触发
<div id="d" onclick="test()">
var test=function(){
}
d.onclick=test;
五。
网页中IFrame指定的元素可以从其他域加载网页并且执行HTML代码,相当于嵌在网
页内部的一个独立框架窗口,不同域的JavaScript脚本不能互相调用。而如果IFrame指定的
不同元素在同一个域,那么除了可以正常加载网页外,不同网页的JavaScript代码也可以互
相执行,具体代码如代码7.2、7.3所示。
src="http://localhost:8080/ajax/fra.html"
在同一个域 可以相互调用
src=“/test/”;在不同域 是不能相互调用的