web前端java script学习2017.7.6
五 输出语句
1 alert():确认模态框
alert(5);
alert("heheda");
var num=10;
alert(num);
alert("这是一个数字,是"+num);
变量必须要从字符串中分离出来,用"+"连接
alert是可以阻塞程序的
ps:每条语句后面都要加上分好,表示一条语句的结束(有换行也表示结束)
2 console.log():仅在控制台中打印相关信息
console.log(5);
console.log("heheda");
var num=10;
console.log(num);
console.log("这是一个数字,是"+num);
3 document.write():在文档中显示相关信息
document.write(5);
document.write("heheda");
var num=10;
document.write(num);
document.write("这是一个数字,是"+num);
三个输出语句的区别:
alert、console.log原样输出
document.write可以将标签字符串以标签的形式解析出来
六 输入语句
var 变量=prompt("请输入"):输入模态框---输入的数据都是字符串类型的
字符串---->数字
parseInt(变量),强制将字符串转为整数
parseFloat(变量),强制将字符串转为小数
数字----->字符串
String(变量),将数字转换为字符串
""+变量:将变量变成了字符串类型
七 运算符(操作符)
定义:是一组用来操作数据值的特殊符号
1 算术运算符
+ - * / %
+:如果用在字符串当中叫做连接符,如果用来数字当中就是进行加法运算----拼接
%:取模(取余)---两个数相除取余数
6%5=1*5+1
9%5=1*5+4
10%3=3*3+1
2%5=0*5+2
乘性运算符:* / %
加性运算符:+ -
2 一元运算符:只能操作一个值的运算符
前置:前置递增、前置递减
前置递增(++i)
var i=10;
++i;//i=i+1;
前置递减 (--i)
ps:先计算自身,再返回(赋值)参与值
后置:后置递增、后置递减
后置递增(i++)
后置递减 (i--)
ps:先将自身的值赋值一份给临时变量,再计算自身,返回的是临时变量的值
ps:前置比后置效率高,所以一般情况下用前置
一元加、减运算符
var num=2;
num=+num;//+2
num=-num;//-2
3 关系运算符:返回的都是布尔类型的值
>(大于) <(小于) <=(小于等于) >=(大于等于)
4 相等运算符:返回的都是布尔类型的值
相等(==) 不相等(!=):先转换后比较
全等(===) 不全等(!==):直接进行比较
5 布尔运算符
a 逻辑非(!):首先会将表达式转为布尔值,再对其求反(遇真为假,遇假为真)
var res = !exp
表达式(exp):
常量表达式:5 "heheda" true ...
复合表达式:由一个或者多个运算符和数据值组合而成的语句 8>5 9+4 ...
var res=!true;//false
!"blue";//false
!"";//true
!5;//false
!0;//true
!NaN;//true
!null;//true
ps:无论当前表达式返回的是什么类型的数据,求反过后返回的都是一个布尔值
(!!):(遇真为真,遇假为假)
b 逻辑与(&&)
var res = exp1 && exp2;
(遇假为假,全真为真)
exp1 true false false true
exp2 false false true true
res false false false true
ps:返回的不仅仅是布尔类型的值,逻辑与是一个短路操作:如果第一个值为false,无论第二个值是什么都会返回false
c 逻辑或(||)
var res = exp1 || exp2;
(遇真为真,全假为假)
exp1 true false false true
exp2 false false true true
res true false true true
ps:返回的不仅仅是布尔类型的值,逻辑与是一个短路操作:如果第一个值为true,无论第二个值是什么都会返回true
6 赋值运算符
简单赋值运算符:= 把右边的值赋给左边
复合赋值运算符:+= *= /= %= -=
var num=10;
num+=10;
num=num+10
7 条件运算符(三目运算符 ?:)
var res = bool_exp ? trueValue : falseValue;
如果bool_exp为true,就将trueValue返回给res;如果bool_exp为false,就将falseValue返回给res。
8 逗号运算符
var num1,num2,num3,...;
var num1=1,num2=2,num3=3,...;
var nums=(1,2,3,...);//只能取最后的值
9 优先级顺序:
一元运算符(逻辑非)>算术运算符>关系运算符>逻辑或(逻辑与)>赋值运算符
如果要增强某个运算符的优先级的话就加上"()"