1、数据类型转换 允许数据在各个类型之间灵活的转变
数据类型:number,string,boolean,null,undefined
var a = 123;
var b = "123";
var c = 1.23;
var result = b +56; 拼接
隐式转换
不需要认为参与,由程序自动完成
+
var a = true;
var b = 56;
var result = a + b; //57
通过 typeof(参数) 函数帮助查看指定数据的类型
NaN : Not a Number
isNaN() : 是不是一个数字
isNaN("abc") : true
isNaN(123) : false
注意:是数字时输出flase 不是则输出true
强制数据类型转换
转换函数
1、toString() 其它类型转字符串 但是遇到null undefind类型 报错 无法转换
String(); 其它类型转字符串 都能转
面试题 String vs toString()
var a = 123;
a.toString();
var b = ""+a; //string
var c = a+""; //string
其他类型转number
1、parseInt(参数) 取整
碰到第一个非数字的字符,停止转换
如果第一个字符就是非数字的,结果为NaN
parseInt("123"); --> 123
parseInt("123ABC"); --> 123
parseInt("123.456"); -->123
parseInt("ABC123"); --> NaN
2、parseFloat(参数) 取小数
将字符串转换为小数"15.36854"--->15.36854
3、弹出一个输入框
var num = prompt("请输入xxxx",0);
var num = prompt("请输入xxxx",0);
函数
函数(function),也叫方法(method),或过程(procedure)
什么是函数
是一段被【预定义】好,并且可以被反复使用的代码块。
代码块:允许包含多条语句。
是一个独立的功能体。
定义函数
定义函数的过程:封装
1、语法
关键字:function
function 函数名(){
//多条语句
}
调用函数
直接使用 函数名() 进行调用
1、<script></script>任何一个位置处
function add(){
console.log(10+10);
}
语法:function 函数名(参数列表){
参数列表:用,隔开的多个变量名(参数名)
}
运算符 - 比较运算符
> , < , >= , <= , == , !=
>= : 3 >= 5 False
5 >= 5 True
== : 判断等于,判断两个操作数,是否相等,相等则为true,不等则为false
3 == 5 : False
3 == 3 : True
!=
3 != 5 : True
"a" != "a" :False
以上运算符的返回值 全部为 boolean 类型
程序的流程控制
程序=数据结构 + 算法;
数据结构:程序运行中所需要的数据元素
算法:将要做的事情通过一系列的逻辑串起来
任何程序或算法都有结构:
1、顺序结构
代码从头到尾除注释以外,按照出现的顺序去执行
2、选择(分支)结构
根据条件判断哪一块的程序要被执行,哪一块的程序不被执行
3、循环结构
根据条件判断,反复的执行某一段程序
4、if语句
满足某个条件时,执行某些操作,不满足则不执行
语法:
if(条件){
//某些操作
}
当条件结果为 true 时,则执行if语句块中的语句
当条件结果为 false时,则不执行if语句块中的语句
一个条件一件事
if(){}
1、由比较运算符 组成的表达式 称为:条件表达式、逻辑表达式
2、if 条件中,如果不是boolean类型表达式,那么进行隐式转换
if 语句块 {} 的问题
当if语句块中【只有一条语句】时,{}可以省略
if(a){
console.log("Success !");
}
等价于
if(a)
console.log("Success!");
if - else结构
语法:
if(条件){
语句块1
}else{
语句块2
}
判断条件
如果条件的值为 true ,则执行语句块1
如果条件的值为 false,则执行语句块2
多重if结构
在一套完整结构中,允许判断多个条件,最终,最多只能选择一个条件去运行
语法:
if(条件1){
语句块1;
}else if(条件2){
语句块2;
}else if(条件3){
语句块3;
}else{
//以上条件都不满足的时候,最终执行的语句块(此块可选);
}