函数的创建方式:
1.直接量方式:
例:
function 函数名(形参,...){
函数体
return 返回值;
}
调用函数&接住结果
var result=函数名(实参,...);
return:本意退出函数,但是如果后面跟着一个数据,则可以将数据返回到全局作用域中,但是仅负责返回,不负责保存,所以我们需要自己创建一个变量接住函数调用的结果
***作用域:
1、全局作用域:全局变量 和 全局函数,在任何位置都可以访问/使用
2、函数/局部作用域:局部变量 和 局部函数,只能在当前【函数调用时内部可用】
****提前声明
在程序执行之前
悄悄将var声明的变量和function【声明】的函数
集中提前到当前作用域的顶部
但是赋值留在原地
变量比函数更轻
*******我们程序员是看不见的,但是会悄悄执行的
***分支结构:根据条件的不同,执行不同的操作
if...else结构
switch...case结构
语法:
switch(变量/表达式){
case 值1:
操作1;
break;
case 值2:
操作2;
break;
default:
默认操作;
}
注意:
1、默认只要满足一条路,会把后面所有的操作全都做完,解决:break:一般放在操作的后面,但是:1、最后default不需要加break, 2、如果连续的多个操作是一样的效果,也可以省略中间部分
2、不带有隐式转换
3、default可以省略不写
if vs switch:
switch:优点:效率相对较高,因为不需要做任何范围判断
缺点:不能实现范围判断,必须要知道用户有可能输入的结果是什么才能使用
if :优点:实现范围判断
缺点:效率相对较低
个人建议:js优化,尽量的将if 优化为:三目、短路、switch
朱洪宇 8:47:20
数据类型转换:
转数字:3个
1.字符串:to数字:parseInt/Float(str);
从左到右,依次读取每个字符,碰到非数字字符就停止转换,如果一开始就不认识,则为NaN。
2、转布尔:1个:
只有6个为false:0,"",undefined,null,NaN,false,其余都为true
二
运算符和表达式:
1.算术运算符:+ - * / %
隐式转换:默认转为数字,在运算
特殊:1、+运算,只要碰上一个字符串,两边都会悄悄的转为字符串(悄悄调用了一个方法,我们程序员看不见String()),再拼接
2.比较级运算符*比较/关系运算符:> < >= <= == != === !==
返回的结果:布尔值:true、false
2、- * / %,只要是纯数字组成字符串,也可以转为数字(悄悄调用了一个方法,我们程序员看不见Number())
3.逻辑运算符:
&&:全部条件都为true,结果才为true
只要有一个为false,结果就为false
||:全部条件都为false,结果才为false
只要有一个为true,结果就为true
!:颠倒bool值
特殊:***短路逻辑:只要前一个条件已经可以得出最终结论,则后续条件不会再执行
&&:如果前一个条件满足,则后一个操作才执行,如果前一个条件不满足,则后一个操作不执行
举例:if(total>=500){total*=0.8}
total>=500&&(total*=0.8)
笔试题:++i 和 i++ 的区别?
1、单独使用时,放前放后无所谓都一样
2、如果参与了别的表达式,变量中的值都会+1
前++,返回的是加了之后的新值
后++,返回的是加了之前的旧值
**三目运算-简化if...else if...else if...else
例:条件?操作1:默认操作;
条件1?操作1:条件2?操作2:条件3?操作3:默认操作;
特俗: 1、只能完成【简单】的分支 - 操作只能有一句话,其实以后很多分支里面可能真的就只有一句话
2、默认操作不能省略 - 会报错
js第二周复习
最新推荐文章于 2022-03-21 17:11:46 发布