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关键字声明变量。
1. i +=10;//等同于i=i+10
2. i++;//等同于i=i+1
3. j /=100;//等同于j=j/100
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. }
1. var sum =0;
2. for(var i =0;i<=9;i++){
3. sum+=i;
4. }
1. var sum =0, num =1;
2. do{
3. sum+=num++;
4. }while(num<10)
循环语句中continue和break语句的用法也与C/C++完全相同。
怎么样?是不是基本和C语言一样!
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中定义和使用求和函数:
1. functionAddFun(a,b){
2. var res;
3. res= a + b;
4. return res;
5. }
6.
7. var c=AddFun(1, 2);
与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度角的正弦值
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 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!