JS基础篇2运算符和表达式&函数

运算符:

能够完成数据计算的一组符号比如:+,-,*,/,... ...

表达式:

由运算符和操作数所组成的式子叫作表达式,每个表达式都有自己的值

15+18;

var a=15;

//a 变量的值为 15,整个表达式的值 也为15

算术运算符

加(+)、减(-)、乘(*) 、除(/) 、求余(% )

-可以表示减号,也可以表示负号,如:x=-y + 可以表示加法,也可以用于字符串的连接

ex: var num1 = 15; var num2 = 18; var str1 = "15";

console.log(num1+num2);//33 console.log(num1+str1);//1515

% : 取余操作,俗称模

作用:取两个数字的余数 ex:

var i = 10 % 3;

//i值为1

使用场合:

  1. 判断数字的奇偶性
  2. 获取数字的最后几位
  3. ++ : 自增,在数值的基础上,进行+1操作 -- : 自减,在数值的基础上,进行-1操作

关系运算符作用:

判断数据之间的大小关系

> : 大于

< : 小于

>= : 大于等于

<= : 小于等于

== : 判断等于

注意:不比较类型,只比较数值

!= : 不等于

=== : 全等

注意:除数值之外,连同类型也会一起比较

!== : 不全等关系表达式的运算结果为 boolean类型(true 或 false)

3、关系运算符

var input=prompt("请输入一个数据:"); 判断 input 是否为 数字??

isNaN(数据)

判断一个数据是否为数字:

console.log( isNaN( input ));

逻辑运算符作用:

关联条件 ex:

判断 考试分数 是否在 60 ~ 80 之间

var score = 52;

条件1:score >= 60 条件2:score <= 80

2、逻辑运算符 逻辑与 : &&

逻辑或 : || 逻辑非 : !

关联两个条件,两个条件中,只要有一个为真,那么整个表达式的结果就为真

问题:笔试题和面试题,笔试题或面试题的分数,有一个超过60就认为是合格 var bishi = 52; var mianshi = 82;

条件1:bishi >= 60 条件2:mianshi >= 60

var result = bishi >= 60 || mianshi >= 60;

3、短路逻辑

  1. 短路&&

如果第一个条件的结果已经为 false 的话,那么就不会再判断第二个条件,那么整个表达式的值,就是 false

如果第一个条件的结果是true的话,则继续判断(执行)第二个条件

(表达式),并且以第二个表达式的值,作为整个表达式的值

  1. 短路 ||

如果第一个条件的结果已经为 true的话,那么就不会再判断第二个条件,那么整个表达式的值,就是true

如果第一个条件的结果是false的话,则继续判断(执行)第二个条件

(表达式),并且以第二个表达式的值,作为整个表达式的值

另有条件运算符...

函数:函数(function),也可以被称之为方法(method),或者过程(procedure)

是一段预定义好,并可以被反复使用代码块。其中可以包含多条可执行语句预定义好:事先声明好,但不被执行反复使用:允许被多个地方(元素,函数中)所应用代码块:允许包含多条可执行的代码函数本质上是功能完整的对象

函数的声明:

语法:

function 函数名( ){

可执行语句;

}

ex :创建一个函数 名称:sayHello,主体功能为,向控制台上 输出一句 Hello World

function printHello( ){ console.log( “hello” );

console.log( “world” );

}

函数的调用:

执行函数中的内容

任何JS的合法位置处,都允许调用函数

语法:函数名称()

function sayHello( ){ console.log( “hello” );

console.log( “world” );

}

sayHello( );

定义函数的参数和返回值

转换函数

parseInt(数据);//将指定数据转换为 整数

parseFloat(数据);//将指定的数据转换为 小数 console.log("要打印的话");

1.定义带参数函数

2.带返回值的函数

定义带参数函数:

function 函数名(参数列表声明){

//代码块(函数体,功能体,方法体)

}

参数列表:由一或多个 变量名称来组成

声明函数时定义的参数,可以称之为叫作 "形参"(形式参数) ex:

function printInfo(userName, ueserPwd){

console.log( '用户名:'+userName + '密码:'+userPwd);

}

printlnfo('Tom','123');

在调用函数时所传递的参数值,被称之为"实参"(实际参数)

带返回值的函数:

1、声明

function 函数名(0或多个参数){ //代码块;

return 值;

}

2、调用

var 变量 = 函数名(参数);

function add( num1, num2){

return num1 + num2 ;

}

 

 

var result = add( 10, 20 ); console.log( result );

//输出30

变量的作用域:

作用域就是变量或函数的可访问范围。它控制着变量或函数的可见性和生命周期

在JS中,变量或函数的作用域可分为:

1、函数作用域,只在当前函数内可访问

2、全局作用域,一经定义,代码的任何位置都可以方式

函数作用域中的变量:

函数作用域中的变量(局部变量)只在当前函数内可访问到,离开此范围就无法访问了。

function add(){ var sum = 1 + 2;

//局部变量

console.log( sum );

//正确

}

console.log( sum ) ;

//脚本错误

全局作用域中的变量:

全局作用域中的变量,称之为 “全局变量”,在代码的任何位置

声明提前:

JS在正式执行之前,会将所有var声明的变量和function声明的函数,预读到所在作用域的顶部但是,对变量的赋值,还保留在原来的位置处

console.log(a); //不会出错,输出undefined var a=100; console.log(a); //100;

var a;  //仅声明提前

console.log(a);  //undefined a=100; //赋值仍保留在原位置

console.log(a);  //100

按值传递:

传参时,实际上是将 实参 复制了一份副本传给了函数。在 函数体内 对变量进行修改,实际上是不会影响到外部的实参变量的

var n=100; //全局变量n

function fun(n){ //参数变量也是局部变量 n-=3;  //修改的是局部变量n

console.log(n); //输出的是局部变量n

}

fun(n);  //按值传递,方法内输出97; console.log(n);  //输出全局变量的值:100

分支结构:

程序=数据加算法

程序的三种结构:

1.顺序结构

2.分支结构

3.循环结构

 分支结构就是程序在运行过程中,根据不同的条件,选择执行某些语句

1 、语法 if(条件表达式){

语句块;

}

流程:

  1. 判断条件表达式的结果
  2. 如果结果为 true,则执行语句块内容如果结果为false,则不执行语句块的内容
  1. if语句,条件位置处,必须为 boolean的值/表达式/变量如果条件不是boolean 类型的话,JS会自动进行转换以下情况,if 都会认为是 false

if(0/0.0/"“/null/undefined/NaN){} 除以上情况外,一律为真

if(1){ console.log("真!");

}

if("我帅吗"){

console.log("真!!!!");

}

  1. if语句块的{} ,可以被省略的如果省略{},那么if只控制它下面的第一条语句

if-else结构:

语法:if(条件) {

语句块1 

}else{

语句块2 

}

如果条件为真的话,则执行语句块1中的操作,否则执行语句2中的操作

循环结构:

如果想要执行类似下面的程序:

console.log( 1 + 'hello' ); console.log( 2 + 'hello' ); console.log( 3 + 'hello' );

...

console.log( 100 + 'hello' );

上述功能可以使用循环结构来代替循环,就是一遍又一遍的重复执行相同或者相似的代码

循环就是反复一遍又一遍的做着相同(相似)的事情 

循环中的两大要素: 

1、循环条件

什么时候开始,什么时候结束

2、循环操作循环体,循环过程中干了什么

while循环:

语法

while( boolean表达式 ){

循环体语句;

}

流程

  1. 判断条件
  2. 如果条件为真,则执行循环操作
  3. 再判断条件,如果为真,继续执行循环操作

...

n、判断循环条件,如果条件为假,则退出循环结构

注:如果循环条件一直为真的话,那么循环就是个死循环,尽量避免死循环的产生。一定要记得更新循环变量(条件)

循环的流程控制:

1.continue关键字

作用:用在循环中,用于终止本次循环,继续执行下次循环

2.break关键字

作用:用在循环中的话,终止整个循环结构!!! 

var i = 0 ; while ( i < 100 ) { console.log( i ); if( i == 5 ){

break;

} i ++ ;

}

输出的结果是:

0 1 2 3 4 5,当 i==5时,退出循环。

do-while循环:

do{

可执行语句 

} while(boolean表达式)

流程: 

先执行循环操作 

再判断循环条件

如果条件为真,则继续执行循环操作

如果条件为假,则终止循环即退出循环

特点:无论条件满足与否,至少要执行一次循环操作

while 与 do...while 区别

while

先判断后执行(最少一次循环都不执行)

do...while

先执行,后判断

最少要执行一次循环操作

for循环: (同样至少执行0次)

for (表达式1; 表达式2; 表达式 3)  {  

循环体语句;

}

for循环执行过程:

  1. 计算表达式1的值;
  2. 计算表达式2(boolean表达式)的值,如果为true则执行循环体,否则退出循环;
  3. 执行循环体;
  4. 执行表达式3;
  5. 计算表达式2,如果为true则执行循环体,否则退出循环;
  6. 如此循环往复,直到表达式2的值为false。

while循环与for循环的区别:

for (表达式1; 表达式2; 表达式3)  {  

循环体语句;

}

for循环执行过程:

  1. 计算表达式1的值;
  2. 计算表达式2(boolean表达式)的值,如果为true则执行循环体,否则退出循环;
  3. 执行循环体;
  4. 执行表达式3;
  5. 计算表达式2,如果为true则执行循环体,否则退出循环;
  6. 如此循环往复,直到表达式2的值为false。

for,while,do-while 之间的区别

for,while

最少执行0次

while多用于不确定循环次数时使用 

for多用于确定循环次数时使用 

do...while

最少执行一次

适合用于不确定循环次数时使用

函数的声明 

3、关系符

  • 21
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值