用于实现赋值、比较、算数的符号
算数运算符执行两个变量运算的符号
±*/%
浮点数运算因进制转换会导致误差
有数字运算符变量组成的式子
都有结果即返回值
与C语言一致
var num = 1;
num = num + 1;
num ++;
比较运算符
与C语言一致
逻辑运算符< > == <= >= != ===全等(数值类型都相等
对布尔值进行运算(与C语言一致)
&&与
|| 或
!非
逻辑中断,左边可以确定结果,不继续后面的运算(与python一致)
123 && 456;//返回456
0 && 123; //返回0
123 || 456; //123
0 || 123 || 456; //123
var num = 0
123||num++;//最后num不运算,num=0
赋值运算符
= += -= 与C语言一致
流程控制控制代码使用什么结构顺序执行
顺序结构先后顺序一次执行
分支流程控制由上到下执行时,根据不同的条件,执行不同的路径代码,从而得到不同的结果。
if语句三元表达式if(条件表达式){执行语句}
else if(条件表达式){执行语句}
else{执行语句}
3 > 5 ? '对‘ : ’错‘
案例:数字补零
var str = prompt('input(0-59:');
str >= 10 ? alert(str) : alert('0'+ str);
switch语句
switch(表达式){
case value1:执行语句1;break;
case value2:执行语句2;break;
.....
default:执行语句;break;
}
*区别
分支少用ifelse
分支多用switch
与C语言一致
for(var i = 0;i < 100;i++){
console.log('00');
}
断点调试:
F12=》Sourse=》打断点=》F11下一步执行
案例:输出五个*同一行
var str = ''
for(var i = 1;i <= 5;i++){
str += '&';
}
console.log(str);
while(条件判断){run}
do{run}while(条件判断)
dowhile至少执行一次
var arr = [1,2,3,4];
var arr = []; //创建空数组
var arr = new Array ();//创建空数组
数组元素访问
console.log(arr[0]);
for(var i = 0;i < arr.length;i++){
console.log(arr[i]);
}
如果length增大,新增元素默认undefined。
不直接给数组名赋值,原值会丢失。
函数就是封装了一段可以被重复执行调用的代码块,方便大量代码重复使用。
//函数的声明
function getSum(n1,n2){
var sum = 0;
for(var i = n1; i <= n2;i++){
sum += i;
}
console.log(sum);
return sum;
}
//函数的调用
getSum(1,100);
arguements
存储以伪数组的形式所有实参,有length属性。当形参无法表明实参,只有函数才有。
//声明方法1
function test(){
console.log(arguments);
console.log(arguments.length);
}
test(1,2,3);
//声明方法2
var fun = function(){ //函数表达式
co*n*sole.log('fdf')'
}
fun(); //fun 是变量名,不是函数名
作用域
代码名字(变量)在某个范围起作用
提升程序可靠性,较少命名冲突
<script>
var num = 0; // 全局作用
function getSum(n1,n2){
var sum = 0; //局部作用域(函数作用域)
}
</script>
但是没有块级作用域 if()for(),es6中有
作用域链
嵌套结构中,就近选取变量
代码执行自上而下;
预解析分为变量预解析和函数预解析
(1)变量提升,吧所有声明的变量提到当前作用域的最前面,不提升赋值 *** 作
(2)函数提升:吧所有的函数声明提升到当前作用域的最前面,不调用函数
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)