六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 32|回复: 0

JavaScript学习1----特性以及即时创建对象的两种方法

[复制链接]

升级  20%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
10
 楼主| 发表于 2013-1-23 02:27:14 | 显示全部楼层 |阅读模式
首先说明,javascript学习这几篇文章只是为了更好的学习,它不会是一个系统的学习文章。只是记录下加深记忆,属于随笔学习笔记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对象的方法
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表