var book={ //对象是由花括号括起来的
topic:“JavaScript”;//属性“topic”的值是“JavaScript”
fat:true; //属性“fat”的值是ture
}; //右花括号标记了对象的结束
//通过“.”或"[]"来访问对象属性
book.topic //=>"JavaScript"
book["fat"]
book.author="Flanagan"; //通过赋值创建一个新的对象属性
book.contents={}; //这是一个空对象,他没有属性.
//JavaScript同样支持数组(以数字为索引的列表)
var primes=[2,3,5,7]; //拥有4个值得数组,由“[]”来划定界限
prime[0] //=>数组中的第一个元素(索引为0)
primes.length //=>数组中的元素的个数
primes[peimes.lenght-1] //=>数组的最后一个元素
primes[4]=9; //通过赋值来添加新元素
primes[4]=11; //或通过赋值来改变已有的元素
var empty=[]; //[]是空数组,它具有0个元素
empty.lenght //=>0
//数组和对象中都可以包含另外一个数组或对象:
var points=[ //具有两个元素的数组
{x:0,y:0}, //每个元素都是一个对象
{x:1,y:1}
];
var data={ //一个包含两个属性的对象
trial1:[[1,2],[3,4]], //每一个属性都是数组
trial2:[[2,3],[4,5]] //数组的元素也是数组
};
初始化表达式(initializer expression)
运算符(operator)
//运算符作用于操作数,生成一个新的值
//最常见的是算术运算符
3+2 //=>5;加法
3-2 //=>1;减法
3*2 //=>6;乘法
3/2 //=>1.5;除法
point[1].x-point[0].x //=>1;更复杂的操作数也能照常工作
“3”+“2” //=>"32":+可以完成加法运算也可以作字符串连接
//JavaScript定义了一些算术运算符的简写形式
var count=0;//定义一个变量
count++; //自增1
count——; //自减1
count*=3; //自乘3;和“count=count*3;”写法一样
count+=2; //自增2;和“count=count+2;”写法一样
count //=>6:变量名本身也是一个表达式
//相等关系运算符用来判断两值是否相等
//不等,大于,小于运算符的结果是ture或false
var x=2,y=3; //这里的=等号是赋值的意思,不是比较相等
x==y //=>false:相等
x!=y //=>ture:不等
x<y //=>ture:小于
x>y //=>false:大于
x>=y //=>false:大于等于
x<=y //=>ture:小于等于
“two”=“three” //=>false:两个字符串不相等
“two”>"three" //=>ture:"tw"在字母表中的索引大于“”th
false==(x>y) //=>ture:false和false相等
//逻辑运算符是对布尔值的合并或求反
(x==2)&&(y==3) //ture:两个比较都是ture,&&表示“与”
(x>3)||(y<3) //false:两个比较不都是ture。||表示“或”
!(x==y) //=>ture:!求反
语句(statement)控制结构(control structure)
//函数是一种带有参数的JavaScript的代码端,可以多次调用
function plus1(x){ //定义了名为plus1的一个函数,带有参数X
return x+1; //返回一个比传入的参数大的值
} //函数代码块是由花括号包裹起来的部分
plus1(y) //=>4:y=3,调用函数的结果为3+1
var square=function(x){ //函数是一种值,可以赋值给变量
return x*x; //计算函数的值
} //分号标记了赋值语句的结束
square(plus1(y)) //=>16:在一个表达式中调用两个函数