Javascript语法

通过 JavaScript 编程语言和一套简单的 API, 用户可以与 SequoiaDB 巨杉数据库进行交互。在此过程中,用户只需要了解基本的 JavaScript 编程语言知识即可使用 SequoiaDB Shell。 本文将简单介绍 Javascript 语法。

JavaScript注释

为提高代码的可读性,可以添加注释对 JavaScript 进行解释。

JavaScript 单行注释

单行注释以 // 开头。例如:

  1. // JavaScript 单行注释

JavaScript 多行注释

多行注释以 /* 开始,以 */ 结尾。例如:

  1. /*
  2. JavaScript 多行注释
  3. */

JavaScript变量

JavaScript 变量可用于存放值。变量可以使用短名称(比如 x 和 y),也可以使用描述性的名称(比如 age, sum, totalvolume)。JavaScript 变量命名的规范如下:

  • 变量必须以字母开头
  • 变量也能以 $ 和 _ 符号开头(但不推荐)
  • 变量名称对大小写敏感(y 和 Y 是不同的变量)

例如:

  1. var x=2;
  2. var y=3;
  3. var z=x+y;

Note:

JavaScript 语句和 JavaScript 变量都对大小写敏感

JavaScript数据类型

JavaScript 数据类型包括:字符串、数字、布尔、数组、对象、Null和Undefined。

JavaScript字符串

  • 字符串是存储字符(比如 “Bill Gates”)的变量。
  • 字符串可以是引号中的任意文本。可以使用单引号或双引号。例如:
  1. var carname="Bill Gates";
  2. var carname='Bill Gates';

JavaScript数字

JavaScript 只有一种数字类型。数字可以带小数点,也可以不带。例如:

  1. var x1=34.00; // 使用小数点来写
  2. var x2=34; // 不使用小数点来写

JavaScript布尔

布尔(逻辑)只能有两个值:true 或 false。

  1. var x=true
  2. var y=false

JavaScript数组

数组下标是基于零的,所以第一个项目是 [0],第二个是 [1],以此类推。 下面的代码创建名为 cars 的数组:

  1. var cars=new Array();
  2. cars[0]="Audi";
  3. cars[1]="BMW";
  4. cars[2]="Volvo";

或者 (condensed array):

  1. var cars=new Array("Audi","BMW","Volvo");

或者 (literal array):

  1. var cars=["Audi","BMW","Volvo"];

JavaScript 对象

JavaScript 对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:

  1. var person={firstname:"Bill", lastname:"Gates", id:5566};

上面示例中的对象 (person) 有三个属性:firstname、lastname 以及 id。 对象属性有两种寻址方式:

  1. name=person.lastname;
  2. name=person["lastname"];

Undefined 和 Null

  • Undefined 表示变量不含有值
  • 可以通过将变量的值设置为 null 来清空变量

示例:

  1. cars=null;
  2. person=null;

JavaScript对象

在 JavaScript 中,对象是数据(变量),拥有属性和方法。

当声明如下一个 JavaScript 变量时:

  1. var txt = "Hello";

实际上已经创建了一个 JavaScript 字符串对象。字符串对象拥有内建的属性 length。对于上面的字符串来说,length 的值是 5。字符串对象同时拥有若干个内建的方法。

属性:

  1. txt.length=5

方法:

  1. txt.indexOf()
  2. txt.replace()
  3. txt.search()

Note:

在面向对象的语言中,属性和方法常被称为对象的成员

创建 JavaScript 对象

JavaScript 中的几乎所有事务都是对象:字符串、数字、数组、日期和函数等。同时,用户也可以创建自己的对象。

本例创建名为 “person” 的对象,并为其添加了四个属性:

例如:

  1. person=new Object();
  2. person.firstname="Bill";
  3. person.lastname="Gates";
  4. person.age=56;
  5. person.eyecolor="blue";

创建新 JavaScript 对象有很多不同的方法,并且用户还可以向已存在的对象添加属性和方法。

访问对象的属性

访问对象属性的语法:

  1. objectName.propertyName

使用 String 对象的 length 属性来查找字符串的长度:

  1. var message="Hello World!";
  2. var x=message.length;

执行以上代码后,x 的值是:

  1. 12

访问对象的方法

用户可以通过下面的语法调用方法:

  1. objectName.methodName()

JavaScript函数

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

JavaScript 函数语法

函数就是包裹在花括号中的代码块,前面使用了关键词 function:

  1. function functionname()
  2. {
  3. 这里是要执行的代码
  4. }

当调用该函数时,会执行函数内的代码。

Note:

JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数

调用带参数的函数

在调用函数时,可以向其传递值,这些值被称为参数。可以定义任意多的参数,由逗号 (,) 分隔:

  1. myFunction(argument1,argument2)

变量和参数必须以一致的顺序出现。第一个变量就是第一个被传递的参数的给定的值,以此类推。

带有返回值的函数

如果用户希望函数将值返回调用它的地方,可以通过使用 return 语句就可以实现。在使用 return 语句时,函数会停止执行,并返回指定的值。

例如:

  1. function myFunction()
  2. {
  3. var x=5;
  4. return x;
  5. }

JavaScript运算符

JavaScript 算术运算符

算术运算符用于执行变量与/或值之间的算术运算。 给定 y=5,下面的表格解释了这些算术运算符:

运算符描述例子结果
+x=y+2x=7
-x=y-2x=3
x=y2x=10
/x=y/2x=2.5
%求余数 (保留整数)x=y%2x=1
++累加x=++yx=6
递减x=—yx=4

JavaScript 赋值运算符

赋值运算符用于给 JavaScript 变量赋值。

给定 x=10 和 y=5,下面的表格解释了赋值运算符:

运算符例子等价于结果
=x=yx=5
+=x+=yx=x+yx=15
-=x-=yx=x-yx=5
=x=yx=x*yx=50
/=x/=yx=x/yx=2
%=x%=yx=x%yx=0

比较和逻辑运算符

比较和逻辑运算符用于测试 true 或 false。

比较运算符

逻辑运算符用于测定变量或值之间的逻辑。

运算符描述例子
==等于x==8 为 false
===全等(值和类型)x === 5 为 true;x === “5” 为 false
!=不等于x!=8 为 true
>大于x>8 为 false
<小于x<8 为 true
>=大于或等于x>=8 为 false
<=小于或等于x<=8 为 true

逻辑运算符

逻辑运算符用于测定变量或值之间的逻辑。

给定 x=6 以及 y=3,下表解释了逻辑运算符:

运算符描述例子
&& 1and(x < 10 && y > 1) 为 true
||or(x == 5 | | y == 5) 为 false
!not!(x==y) 为 true

If…Else语句

条件语句用于基于不同的条件来执行不同的动作。下面为 if….else 语法:

  1. if (条件)
  2. {
  3. 当条件为 true 时执行的代码
  4. }
  5. else
  6. {
  7. 当条件不为 true 时执行的代码
  8. }

例如:

当时间小于 20:00 时,将得到问候 “Good day”,否则将得到问候 “Good evening”。

  1. if (time<20)
  2. {
  3. x="Good day";
  4. }
  5. else
  6. {
  7. x="Good evening";
  8. }

x 的结果是:

  1. Good evening

Switch 语句

switch 语句用于基于不同的条件来执行不同的动作。下面为 switch 循环语法:

  1. switch(n)
  2. {
  3. case 1:
  4. 执行代码块 1
  5. break;
  6. case 2:
  7. 执行代码块 2
  8. break;
  9. default:
  10. n case 1 case 2 不同时执行的代码
  11. }

For循环

for 循环是在创建循环时常会用到的工具。下面为 for 循环语法:

  1. for (语句 1; 语句 2; 语句 3)
  2. {
  3. 被执行的代码块
  4. }

例如:

  1. for (var i=0; i<5; i++)
  2. {
  3. x=x + "The number is " + i + "\n";
  4. }

While循环

While 循环会在指定条件为真时循环执行代码块。下面为 while 循环的语法:

  1. while (条件)
  2. {
  3. 需要执行的代码
  4. }

例如:

  1. while (i<5)
  2. {
  3. x=x + "The number is " + i + "\n";
  4. i++;
  5. }

Break/Continue语句

  • break 语句用于跳出循环。
  • continue 用于跳过循环中的一个迭代。

Break 语句

break 语句可用于跳出循环,break 语句跳出循环后,会继续执行该循环之后的代码(如果有的话)。

例如:

  1. for (i=0;i<10;i++)
  2. {
  3. if (i==3)
  4. {
  5. break;
  6. }
  7. x=x + "The number is " + i + "\n";
  8. }

Continue 语句

continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。

例如:

  1. for (i=0;i<=10;i++)
  2. {
  3. if (i==3) continue;
  4. x=x + "The number is " + i + "\n";
  5. }