1、javascript 跟JAVA是没有关系的,虽然有一些语法上的相同。
javascript是脚本语言,原名livescript,并非源自C语言,它的思想大量源自于Scheme这类函数式语言,与python有共同之处。
javascript是为了沾JAVA的光而这样命名的
2、javascript语言特性
2.1、变量是弱类型的,变量就是变量,不是某一特定类型的整数,字符串对象。给同一个变是分配不同的类型是合法的。
2.2、代码是动态解释的,javascript以文本形式保存,在程序运行时解释为机器指令。所以我们是可以看到所有ajax应用的源代码的。这同时使得通过其它代码动态生成javascript代码成为可能。
2.3、javascript函数是正常的对象
2.4、javascript对象是基于prototype。
关于javascript对象,下面再详细举例说明.
初开始看AJAX,看到javascript代码,特别是关于对象的使用的,感觉很累,应该是受java等面向对象语言的影响。javascript的语法和使用感觉很怪异,很灵活,怎么都行,不像java那么的严谨,所以才有了仔细学习javascript的文章。把心得写出来,把语言做个比较,加深对javascript的理解.
3、javascript中的对象
javascript并不一定要使用对象,可是如果我们写几百行,几千行代码的时候,有对象的使用将会方便我们组织代码,方便使用。
创建javascript对象的方法
var myObject = new Object();
myObject不包含任何的属性和方法
3.1、创建即时对象
创建即时对象的方法有两种:
1、直接使用javascript来创建对象
2、使用JSON(JavaScript Object Notation )来创建对象。
3.1.1、使用javascript语句来创建对象
myObject.shoeSize = "12";
在java中,shoeSize必须要定义一个类来声明这个属性,否则会编译出错。在javascript中,这不需要。
myObject['shoeSize'] = "12";
这样使用也可以,只是难以阅读和理解,但是可以看出javascript的数组特性。
对象动态添加函数
myObject.speakyourShoeSize = funtion(){
alert("shoe size : "+ this.shoeSize);
}
借用一个预定义的函数
function sayHello(){
alert(' hello, my shoeSize is ' + this.shoeSize);
}
myObject.sayHello = sayHello
这里借用的预定义函数不能用(),用()就会将sayhello的执行结果返回到myObject.sayHello中,这里的执行结果为null
sayHello在预定义时,this.shoeSize的作用在myObject中,会调用myObject.shoeSize
3.1.2、使用JSON创建对象
我们先看看javascript的数组特性
myObject.books = new Array();
给数组赋值
myObject. books[1] = bookone;
数组也可以一个键值来关联,就好像java的map
myobject.books["book name"] = booktwo
还可以写成一个列表在方括号内,用逗号分隔
myobject.books = [book1,book2,book3];
为了创建javascript对象,可以使用花括号,将每个值写成 键:值 对的形式
var myLibrary = {
location : "my house",
keywords : ["root","turnip","tedium"],
books : [
{title: "javascript入门",
autors: [{name:"kinglds",age:19},
{name:"lds",age:20}
]
},
{title: "ajax in action",
autors: [{name:"Dave",age:19},
{name:"Eric",age:20}
]
}
]
};
可以为使用JSON创建的对象定义成员函数
var notebook = {
weight:0.5kg
cpu:2.0g
hd:sata2 160g
displayContent:function(model){
var str = "x61 配置 :"+ this.weight+ " " + this.cpu;
alert(str);
}
}
可以为使用JSON创建的对象使用普通的javascript添加属性
myLibrary.publishinghouse = "人民邮电出版社";
同样,使用javascript创建的对象,可以用JSON扩展
var cookbook = new Object();
cookbook.payeCount = 321;
cookbook.author = {
firstNmae = "harry";
secondName: "liang";
}
以上是两种创建javascript对象的方法