js变量:
概念:
定义:var 变量名= 值;
var age = 10;
规则和规范:
组成: 数字,字母 下划线,美元符号
注意:数字不能开头 4abc class="abc3"
不能是保留字和关键字 (var if swicth case for while do...while)
保留字(class,super)
严格区分大小写
规范:
applePrice
数据类型:
5种:数值类型:number---typeof NaN/typeof 12--->number
字符串:string --->string
布尔:boolean--->boolean
未定义:undefined--->undeined
空:null-typeof null->object
检测数据类型:typeof x
typeof()
typeof的结果的类型是string
数据类型的转换:
字符串转数值类型
1.Number()方法
语法:number(X)
作用:将X转为数值类型
返回值(结果):转换后的值
转换规则:把X当成一个整体来进行转换的
2.parseInt()方法
parseInt(X)
作用:将X转为数值类型,值保留整数部分
返回值(结果):转换后的值
转换规则:从左到右一个一个进行转换,第一个转换不了,返回NaN,将转换成功的保留
3、parseFloat()方法
parseFloat(X)
作用:将X转为数值类型,可以保留小数部分
返回值(结果):转换后的值
转换规则:从左到右一个一个进行转换,第一个转换不了,返回NaN,将转换成功的书保留
4、隐式转换
var a = "10";
console.log(typeof(a));
console.log(typeof(a - 0)); //隐式转换
console.log(typeof(a * 1)); //隐式转换
console.log(typeof(a / 1)); //隐式转换
console.log(typeof(a % 11)); //隐式转换
console.log(typeof(a + 0)); //这个不行
console.log(typeof(+a)); //正号,可以转为数值类型
其他类型转为字符串
1、String()
语法:String(X)
作用:转为字符串类型
返回值(结果):字符串类型的值
2、toString()
语法:X.toString()
作用:转为字符串类型
返回值(结果):字符串类型的值
3、隐式转换:
+(拼接)10+""---- (将数值10转成字符串)
String(10)
10.toString()
区别:String()可以将任意其他类型转成字符串类型
toString()不能将null和undefined转为字符串,其他都可以
转为布尔类型:Boolean()
使用:Boolean(X)
作用:转布尔的
返回值(结果):true或者false
规则:只能将null,undefined,' ',0,NaN把他们转为false,其他的全部都是true
分支结构
JS代码都是顺序执行的(从上到下)
逻辑分支就是根据我们设定好的条件来决定要不要执行某些代码。
IF条件分支结构
if语句
通过一个if语句来决定代码执行与否
语法:if(条件){要执行的代码}
通过()里面的条件是否成立来决定{}里面的代码是否执行
if else 语句
通过if条件来决定,执行哪一个{}里面的代码
语法:if(条件){条件为true的时候执行}else{条件为false的时候执行}
两个{}内的代码一定有一个会执行
例子
// 条件为 true 的时候,会执行 if 后面的 {}
if (true) {
alert('因为条件是 true,我会执行')
} else {
alert('因为条件是 true,我不会执行')
}
// 条件为 false 的时候,会执行 else 后面的 {}
if (false) {
alert('因为条件为 false,我不会执行')
} else {
alert('因为条件为 false,我会执行')
}
if else if...语句
可以通过if和else if 来设置多个条件进行判断
语法:if(条件1){条件1为true的时候执行}else if(条件){条件2位true的时候执行}
如果第一个条件位true了,那么就会执行后面的{}里面的内容
如果第一个条件为false,那么就会判断第二个条件,以此类推
多个{},只会有一个被执行,一旦有一个条件为true1了,后面的就不在判断了
// 第一个条件为 true,第二个条件为 false,最终会打印 “我是代码段1”
if (true) {
alert('我是代码段1')
} else if (false) {
alert('我是代码段2')
}
// 第一个条件为 true,第二个条件为 true,最终会打印 “我是代码段1”
// 因为只要前面有一个条件满足了,就不会继续判断了
if (true) {
alert('我是代码段1')
} else if (true) {
alert('我是代码段2')
}
// 第一个条件为 false,第二个条件为 true,最终会打印 “我是代码段2”
// 只有前一个条件为 false 的时候才会继续向后判断
if (false) {
alert('我是代码段1')
} else if (true) {
alert('我是代码段2')
}
// 第一个条件为 false,第二个条件为 false,最终什么也不会发生
// 因为当所有条件都为 false 的时候,两个 {} 里面的代码都不会执行
if (false) {
alert('我是代码段1')
} else if (false) {
alert('我是代码段2')
}
if else if … else 语句
和之前的if else if...基本一直,只不过实在所有条件都不满足的时候,执行最后else后面的{}
// 第一个条件为 false,第二个条件为 false,最终会打印 “我是代码段3”
// 只有前面所有的条件都不满足的时候会执行 else 后面的 {} 里面的代码
// 只要前面有一个条件满足了,那么后面的就都不会执行了
if (false) {
alert('我是代码段1')
} else if (false) {
alert('我是代码段2')
} else {
alert('我是代码段3')
}
SWITCH 条件分支结构
也是条件判断语句的一种
是对于某一个变量的判断
语法:
switch (要判断的变量) {
case 情况1:
情况1要执行的代码
break
case 情况2:
情况2要执行的代码
break
case 情况3:
情况3要执行的代码
break
default:
上述情况都不满足的时候执行的代码
}
要判断某一个变量等于某一个值的时候使用
例子
var week = 1
switch (week) {
case 1:
alert('星期一')
break
case 2:
alert('星期二')
break
case 3:
alert('星期三')
break
case 4:
alert('星期四')
break
case 5:
alert('星期五')
break
case 6:
alert('星期六')
break
case 7:
alert('星期日')
break
default:
alert('请输入一个 1 ~ 7 之间的数字')
}
三元运算
三元运算,就是用两个符号组成一个语句
三元运算只是对if else 语句的一个简写形式
语法:条件?条件为true的时候执行:条件为false的时候执行
例
var age = 18;
age >= 18 ? alert('已经成年') : alert('没有成年')