前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2.2.1 js基本语法

2.2.1 js基本语法

作者头像
周星星9527
发布2018-08-05 18:50:05
2K0
发布2018-08-05 18:50:05
举报
  • js变量定义

js语法与C/C++/java等C-Style类型语言语法相近,如基本数据类型:

1. var b=true;//定义布尔变量b,并赋值为true,js注释与C/C++完全相同,此处不详述

2. var i=0;//定义型变量i,并赋值为0

3. var j=-1000;//定义整型变量j,并赋值为-1000

4. var k=0.123;//定义浮点数k,并赋值为0.123

5. var s ="Hello World";//定义字符串变量s,并幅值为"Hello World"

6. var obj ={Name:"Soong",Age:28};//定义对象obj,设置其属性:Name为“Soong”,Age为28

js不需要像C语言一样显式的指定具体类型,如int,double等,统一使用var关键字声明变量。

  • js四则运算与C语言相同,如:

1. i +=10;//等同于i=i+10

2. i++;//等同于i=i+1

3. j /=100;//等同于j=j/100

  • js条件转移与循环语句与C语言类似,如下:

1. var num =100;//定义整数

2. if((num%2)==1){ //求num的余数,“%”为求余数运算符,与C语言一样

3.    console.log("奇数");// console.log()为FireFox浏览器内置的输出函数,类似于C语言中printf

4. }else{

5.    console.log("偶数");

6. }

  • js的for循环求0到9之和:

1. var sum =0;

2. for(var i =0;i<=9;i++){

3.    sum+=i;

4. }

  • js的do-while循环求0到9之和:

1. var sum =0, num =1;

2. do{

3.    sum+=num++;

4. }while(num<10)

循环语句中continue和break语句的用法也与C/C++完全相同。

怎么样?是不是基本和C语言一样!

  • js数组与C++标准库(STL)中vector类类似,用法如下:

1. var v= new Array(5) ;//定义一个长度为5的数组

2. v[0]=1;v[3]=4;

3. var v2=[] ;//定义数组v2与v2=new Array();作用完全相同

4. console.log(v.length)//输出数组v的长度

5. var arr= new Array("one","two","three", 3 , 4 ,5);

6. arr.push(1.2, 2.3 , 3.4);//使用push函数从尾部添加数据

7. arr.pop();//从尾部删除一个数据

  • js函数定义

js中定义和使用求和函数:

1. functionAddFun(a,b){

2. var res;

3.    res= a + b;

4. return res;

5. }

6.

7. var c=AddFun(1, 2);

  • js内置函数

与C语言不同需要注意的是:部分浏览器不支持js函数使用默认参数,如IE和EDGE。js内置了一些数学函数,如指数运算、开方、三角函数等,类似与C语言中math.h中的数学函数,js内置数学函数有:

1. var rnd=Math.random();//使用 random()返回 0到1之间的随机数

2. var max=Math.max(2,5,8,1);//使用max()返回两个给定的数中的最大值

3. var pi=Math.PI;//Math.PI表示圆周率

4. var sqr=Math.sqrt(5);//求5的平方根

5. var i=Math.floor(3.4);//求不超过3.4的最大整数

6. var e=Math.exp(2);//指数函数

7. var s=Math.sin(Math.PI/6);//求30度角的正弦值

  • 类的概念 早期js中没有类的概念;到ES6标准中加入了js类的概念。如下定义了三个类:水管类、阀门类、水位计类。

1. class Tube{//定义了水管类

2. constructor(flux) {//构造函数,初始化成员变量(这里是流量flux)

3. this.flux = flux;//成员变量(这里是流量flux)

4.    }

5. }

6.

7. class Valve{//定义了阀门类

8. constructor(valveOpenning) {//构造函数,初始化成员变量(这里是阀门开度)

9. this.setValveOpenning(valveOpenning);//调用成员函数

10.     }

11.     setValveOpenning(value){//成员函数

12. if(value>1) value=1;

13. if(value<0) value=0;

14. this.valveOpenning = value;

15.     }

16. }

17.

18. class LevelSensor{//定义了水位计类

19. static getLevel(pool){//静态函数:返回水位值

20. return pool.actualLevel;

21.    }

22. }

没看懂吧?我们说说什么是类?类可以理解为自定义数据类型,例如我有一个height变量可以表示身高,一个weight变量可以表示体重。那有没有一个数据类型能够同时包含两个或者多个变量呢?类就可以办到,通过关键词来定义类,如我们定义了一个Person类,包含了height和weight两个变量:

1. class Person{

2. constructor(weight,height) {

3. this.weight = weight;

4. this.height = height;

5.    }

6. }

 其中关键字constructor是什么意思呢?constructor是构造函数,用于初始化成员变量weight和height的。定义一个变量xiaoming,体重80kg,身高1.75m,如下:

1. class Person{

2. constructor(weight,height) {

3. this.weight = weight;

4. this.height = height;

5.    }

6. }

7.

8. xiaoming=new Person(80,1.75);

 使用关键字new 和类名(Person)定义新的变量,并给出初始化参数(体重和身高)。如何获取xiaoming的BMI(体重除以身高的平方)值呢?我们需要定义一个成员函数,如下:

1. class Person{

2. constructor(weight,height) {

3. this.weight = weight;

4. this.height = height;

5.    }

6.    getBMI(){//获取BMI值

7. return this.weight/this.height/this.height;

8.    }

9. }

10.

11. xiaoming=new Person(80,1.75);

12. console.log(xiaoming.getBMI());//输出BMI值

 注意:此处的console.log函数与C语言的printf类似,输出调试信息。那么this关键字是什么意思呢?和C++的用法一致,请百度之。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档