JavaScript语法快速浏览

时间:2022-06-21 16:27:01

快速浏览

变量和赋值

//所有在双斜杠之后的内容都是注释

 

//变量是表示值的一个符号名字

//变量是通过var关键字声明的

var x;// 声明一个变量x

 

//值可以通过等号赋值给变量

x = 0;// 现在变量x的值为0

x;// => 0:通过变量获取其值

 

// JavaScript支持多种数据类型

x = 1;// 数字

x = 0.01;// 整数和浮点数共用一种数据类型

x ="hello world";// 字符串

x ='JavaScript';// 字符串

x =true;// 布尔值

x =false;// 另一个布尔值

x =null;// null是一个特殊的值,意思是""

x =undefined;// undefinednull非常类似

对象和数组

// JavaScript中的最重要的类型就是对象

//对象是/对的集合,或字符串到值映射的集合

var book = {

topic : "JavaScript",

fat : true

};

 

//通过".""[]"来访问对象属性

book.topic;// => "JavaScript"

book["fat"];// => true:另外一种获取属性的方式

book.author ="Flanagan";// 通过赋值创建一个新属性

book.contents = {};// {}是一个空对象,它没有属性

 

// JavaScript同样支持数组(以数字为索引的列表)

var primes = [2, 3, 5, 7];// 拥有4个值的数组,"[""]"划定边界

primes[0];// => 2:数组中的第一个元素(索引为0)

primes.lenth;// => 4:数组中的元素个数

primes[primes.length - 1];// => 7:数组的最后一个元素

primes[4] = 9;// 通过赋值来添加新元素

primes[4] = 11;// 或通过赋值来改变已有的元素

var empty = [];// []是空数组,它具有0个元素

empty.length;// => 0

 

//数组和对象中都可以包含另一个数组或对象:

var points = [{x : 0, y : 0}, {x : 1, y : 1}];

var data = [{

trial1 : [[1, 2], [3, 4]],

trial2 : [[2, 3], [4, 5]]

}];

运算符

//运算符作用于操作数,生成一个新的值

//最常见的是算术运算符(Arithmetic operators)

3 + 2;// => 5:加法(addition)

3 - 2;// => 1:减法(subtraction)

3 * 2;// => 6:乘法(multiplication)

3 / 2;// => 1.5:除法(division)

points[1].x - points[0].x;// => 1:更复杂的操作数也能照常工作

"3" +"2";// => "32": +可心完成加法运算也可以作字符串连接

 

// JavaScript定义了一些算术运算符的简写形式

var count = 0;// 定义一个变量

count++;// 自增1

count--;// 自减1

count += 2;// 自增2:"count = count + 2;"写法一样

count *= 3;// 自乘3:"count = count * 3;"写法一样

count;// => 6:变量名本身也是一个表达式

 

//相等关系运算符用来判断两值是否相等

//不等、大于、小于运算符的运算结果是truefalse

var x = 2, y = 3;// 这里的 =等号是赋值的意思,不是比较相等

x == y;// => false:相等

x != y;// => true:不等

x < y;// => true:小于

x <= y;// => true:小于等于

x > y;// => false:大于

x >= y;// => false:大于等于

"two" =="three";// => false:两个字符串不相等

"two" >"three";// => true: "tw"在字母表中的索引大于"th"

false == (x > y);// => true: falsefalse相等

 

//逻辑运算符是对布尔值的合并或求反

(x == 2) && (y == 3);// => true:两个比较都是true, &&表示""

(x > 3) || (y < 3);// => false:两个比较不都是true, ||表示""

!(x == y);// => true: |求反

函数与“方法”

//函数是一段带有参数的JavaScript代码段,可以多次调用

function plus_1(x){

return x + 1;

}

plus_1(y);// => 4: y3

 

//函数是一种值,可以赋值给变量

var square =function(x){

return x * x;

};

square(plus_1(y));// => 16:在一个表达式中调用两个函数

 

//当将函数和对象合在一起时,函数就变成了"方法"(method)

var a = [];// 创建一个空数组

a.push(1, 2, 3);// push()方法向数组中添加元素

a.reverse();// 将数组元素的次序反转

//也可以自定义自己的方法, "this"关键字是对定义方法的对象的引用

points.dist =function(){

var p1 =this[0];

var p2 =this[1];

var a = p2.x - p1.x;

var b = p2.y - p1.y;

return Math.sqrt(a * a + b * b);

};

points.dist();

最常见的JavaScript控制语句

//这些JavaScript语句使用该语法包含条件判断和循环

//使用了类似C/C++Java和其他语言的语法

function abs(x){// 求绝对值的函数

if( x >= 0){// if语句...

return x;// 如果比较结果为true则执行这里的代码

}else{

return -x;// if条件不满足时执行else子句

}

}

 

function factorial(n){// 计算阶乘的函数

var product = 1;// product赋值为1

while(n > 1){// ()内的表达式为true时循环执行{}内的代码

product *= n;// "product = product * n;"的简写形式

n--;

}// 循环结束

return product;// 返回product

}

factorial(4);// => 24: 1 * 4 * 3 *2

 

function factorial(n){// 实现循环的另一种写法

var i, product = 1;

for(i = 2; i <= n; i++){

product *= i;

}

return product;

}

factorial(5);// => 120: 1 * 2 * 3 * 4 * 5

“面向对象”

//定义一个构造函数以初始化一个新的Point对象

function Point(x, y){// 按照惯例,构造函数均以大写字母开始

this.x = x;// 关键字this指代初始化的实例

this.y = y;// 将函数参数存储为对象的属性

}// 不需要return

 

//使用new关键字和构造函数来创建一个实例

var p =new Point(1, 1);// 平面几何中的点(1, 1)

 

//通过给构造函数的prototye对象赋值来给Point对象定义方法

Point.prototype.r =function(){

return Math.sqrt(this.x * this.x// this指代调用这个方法的对象

+this.y *this.y);// 返回 x^2 + y^2的平方根

};

 

已使用 传智播客 创建。