JavaScript运算符
赋值运算符
=
赋值运算符并不是等于;
<script>
// 确认--->true 取消---->false
var flag=confirm("是否正确");
console.log(flag);
//弹出一个输入框
var num=prompt("请输入你的年龄:");
console.log(num);
// 基础运算符
var num1=prompt("请输入第一个数字");
var num2=prompt("请输入第二个数字");
算术运算符;
求模/取余:%;
例: 5%3;语言描述:5对3取余;
计算方法:5除以3所得到的余数;
5%3=2;
例: 135%9;语言描述:135对9取余;
计算方法:135除以9所得到的余数;
135%9=0;
余数符号与被除数符号一致(跟分子走);
递增和递减:
++表示的是变量的值加1;
++i表示的是,先加1再执行;
而i++表示的是先执行再加1;
+运算符:用于把文本值或字符串变量连接起来。如需把两个或多个字符串变量连接起来,请使用 + 运算符。
(如果把数字与字符串相加,结果将成为字符串。)
规则:
字符串与数字进行+拼接时,数字会隐式的转换成字符串
字符串与对象进行+拼接时,对象会隐式的转换成字符串
数字与null进行+拼接时,null会转换成数字类型
布尔值之间进行+拼接时,布尔值会转换成数字类型
null和undefined和数字进行拼接时,会转换成数字类型,null为0,undefined为NaN
字符串与数字进行-号运算时,字符串会隐式的转换成数字类型
关系运算符(比较运算符)
关系操作符在逻辑语句中使用,以测定变量或值是否相等。
等于(==)的情况下 只要值相同就返回True;
全等(===)的时候需要值和类型都要匹配才能返回True;
关系操作符返回的是布尔值 true 或 false;
纯数字之间比较:
var a=9;
var b=10;
var c=a>9;
console.log(c);
console.log(a>b);
console.log(a<b);
// a<b 或者a等于b
console.log(a<=b);
console.log(a>=9);
数字字符串比较,转换成ASCII码比较;
// 一个个的比较 转换成ASCII码比较
console.log("66">"9");
console.log("abc">"9");
console.log("abc">9);
// 查看字符的ASCII码
console.log("6".charCodeAt());
console.log("我".charCodeAt());
console.log("你".charCodeAt());
console.log("他".charCodeAt());
纯字符串比较,先转成ASCII码;
关系运算符(比较运算符):
汉字比较,转成ASCII码
数字和字符串比较,且字符串为数字。则将数字字符串转为数字
当数字和字符串比较,且字符串为非纯数字时,则将非数字字符串转成数字的时候会转换为NaN,当NaN和数字比较时不论大小都返回false.
条件运算符(三元操作符)
如果表达式1成立
执行表达式2
如果表达式1不成立
执行表达式3
逻辑运算符:
逻辑与的运算规则:
1.两边条件都为true时,结果才为true;
2.如果有一个为false,结果就为false;
3.当第一个条件为false时,就不再判断后面的条件
注意:当数值参与逻辑与运算时,结果为true,那么会返回的会是第二个为真的值;如果结果为false,返回的会是第一个为假的值。
1.只要有一个条件为true时,结果就为true;
2.当两个条件都为false时,结果才为false;
3.当一个条件为true时,后面的条件不再判断
注意:当数值参与逻辑或运算时,结果为true,会返回第一个为真的值;如果结果为false,会返回第二个为假的值;
&& 优先级高于 ||:
// &&:与 两个条件必须同时成立结果才为true
flag=age>16 && sex=="男";
console.log(flag);
// ||或 两个条件满足一个就可以了
// lyy找对象的标准 女的 或者 有钱的
sex="男";
var money="有钱";
flag=sex=="女" || money=="有钱";
console.log(flag);
// ! 非 得到一个相反的结果
var a=!(9>9);
console.log(a);
flag=!(sex=="女" || money=="有钱");
console.log(flag);
var b=10;
// && 第一个条件不成立,不再判断第二个
flag=10<9 && ++b>9;
console.log(b);
var c=10;
// || 第一个条件成立,不再判断第二个
flag=10>9 || c++>20;
console.log(c);
流程控制语句
if语句语法:
if ( 判断语句 ) {
语句1
}
else {
语句2
}
语句3
if英语里面的如果的意思,else就是否则的意思。else不要拼写为eles。
将文字转化为代码/表达式;
找到判断条件;
找到条件成立与不成立时的执行的语句;
将相应的语句放置到if结构的相应位置当中;
如果要执行的语句,只有一行语句,那么就是单行if,就可以省略大括号。
var isHaoren = "不是";
// 如果 :是
// 满足条件才会执行
if (isHaoren == "是") {
console.log("每天一个好人卡!");
}
// 如果 :不是
if (isHaoren == "不是") {
console.log("枪毙十分钟!");
}
// if else 语句
var score = 60;
if (score >= 60) {
console.log("恭喜你及格了!!!");
}
else {
console.log("很遗憾你没及格,革命尚未成功,同志仍需努力!");
}
// if else if
// 班长买彩票 中500万 买拖拉机
// 中100万 自行车
// 否则 买个锤子
var money = 3000;
if (money == 500) {
console.log("买拖拉机");
} else if (money == 100) {
console.log("买自行车");
} else {
console.log("买个锤子");
}
// 运动会 要求: 男生分到男子组 其他 女子组
var sex = "男生";
if (sex == "男生") {
console.log("分到男子组");
}
else {
console.log("分到女子组");
}
// 跑入 :10秒以内(国家队)12秒(省队)14秒(市队)14以外(回家种地)
var run = 13;
if (run <= 10) {
console.log("国家队");
} else if (run <= 12) {
console.log("省队");
} else if (run <= 14) {
console.log("市队");
}
else {
console.log("回家种地");
}
// ----------------------------------
var run = 13;
//0<run && run<=10(大于0小于10 0~10以内)
if (0 < run && run <= 10) {
console.log("国家队");
} else if (10 < run && run <= 12) {
console.log("省队");
} else if (12 < run && run <= 14) {
console.log("市队");
}
else {
console.log("回家种地");
}
// 嵌套的if
// 联欢会 采购
// 西瓜 价格>5块钱 :买10斤 否则买20斤
// 瓜子 >6 8斤 否则15斤
var shop = "瓜子";
var price = 30;
if (shop == "西瓜") {
console.log("买西瓜");
if (price > 5) {
console.log("买10斤");
} else {
console.log("买20斤");
}
} else if (shop == "瓜子") {
console.log("买瓜子");
if (price > 6) {
console.log("买8斤");
} else {
console.log("买15斤");
}
} else {
console.log("什么都不买");
}