一、基本语法
1、typeof 检测变量类型
语法:typeof 变量 或 typeof(变量)
2、console.log() 在控制台中打印
3、null
●、null 值表示一个空对象指针。
●、如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null而不是其他值。
●、undefined值是派生自null值,所以undefined == null 的返回结果为true。
4、Number:表示整数和浮点数,eg:var age=18,distant=18.999;
●、NaN:即非数值(例:数值-字符串),是一个特殊的数值(特殊的Number,要返回数值,却返回不了)。
●、任何涉及NaN的操作(例:NaN/10)都会返回NaN。
●、NaN与任何值都不相等,包括NaN本身。
5、isNaN:语法:isNaN(n)。
功能:检测n是否是非数值(即检测n是否是NaN)。
返回值:boolean(true或false)。
参数:参数n可以是任何类型
●、isNaN()对接收的数值,会先尝试转换为数值,再检测是否为非数值。
6、所有加了引号的都是字符串String类型
7、String 字符串 Number 数值 Boolean 布尔对象(true或false) undefined 未赋值的,没有定义的 object 物体,对象
2、数值转换
1、Number() //强制转换成数值型,可用于任何数据类型。
●、eg: var id=“16”; id=Number(id); //由字符串变成数字
●、parseInt() //将内容转换成整数,提取的内容是以数字开头的整数(除了0),eg: var topval=parseInt(“28px”) 打印出的结果为28。但 parseInt(“0xf,16”) 是将0xf转换为16进制。
●、parseFloat() //将内容转换成浮点数,提取第一个小数点后的数(除了整数0)
2、String() //强制转换成字符串,所有加了引号的都是字符串String类型,字符串要放在双引号("")或单引号(’’)内。
●、toString()
语法:str.toString()
功能:将str转换为字符串
返回值:str的一个副本
参数:str是要转换的内容,可以是数值、布尔值、对象或字符串
3、Boolean() //强制转换成布尔型,Boolean 用于表示真假的类型,即true表示真,false表示假。eg: var isStudent=true; //为布尔型。
●、除0之外的所有数字,转换为布尔型都为true。
●、除""之外的所有字符,转换为布尔型都为true。
●、null和undefined转换为布尔型为false。
3、操作符
除号前面的叫做被除数,除号后面的叫做除数。
C÷B 叫C除以B,C叫做被除数,B叫做除数
1、% 取余运算 取余只能整数除以整数,一个数除以另一个数,要是比另一个数小的话,余数就是它自己。例如:1除以2,商数为0,余数为1。
2、a+=5; 等于 a=a+5;
var str="hello "; str+=“world” 等于 str=str+“world”
+ 这个符号对数字有相加的作用,对字符串有相连的作用。
3、比较操作符
= 是赋值操作符
== 相等,只比较值是否相等。
eg: var x=10,y=“10”; z=x==y; console.log(z); 结果为true
=== 相等,比较值的同时比较数据类型是否相等。
eg: var x=10,y=“10”; z=x===y; console.log(z); 结果为false
!= 不相等,比较值是否不相等
!== 不相等,比较值的同时比较数据类型是否不相等
4、三元操作符
语法: 条件 ? 执行代码1 :执行代码2;
说明:可代替简单的if语句
如果条件成立,执行代码1,否则执行代码2
5、逻辑操作符
&& 逻辑与 (只要有一个条件不成立,返回false)
(1)、如果第一个操作数隐式类型转换后为true,则返回最后一个操作数。
(2)、如果第一个操作数隐式类型转换后为false,则返回第一个操作数。
(3)、操作数中只要有一个是null,打印的就是null。
(4)、操作数中只要有一个是NaN,打印的就是NaN。
(5)、操作数中只要有一个是undefined,打印的就是undefined。
|| 逻辑或 (只要有一个条件成立,返回true)
(1)、如果第一个操作数隐式类型转换后为true,则返回第一个操作数。
(2)、如果第一个操作数隐式类型转换后为false,则返回依次最后为true的操作数。
(3)、如果两个操作数是null,则返回null。
(4)、如果两个操作数是NaN,则返回NaN。
(5)、如果两个操作数是undefined,则返回undefined。
! 逻辑非
(1)、无论操作数是什么数据类型,逻辑非都会返回一个布尔值。
(2)、!! 同时使用两个逻辑非操作符是时:
第一个逻辑非操作会基于无论什么操作数都返回一个布尔值。
第二个逻辑非则对该布尔值求反。
6、常见语法:
●、prompt();
功能:弹出输入框。
返回值:点击确定,返回输入内容。
点击取消,返回null。
●、alert();
功能:弹出警告对话框。
●、string.length
功能:获取string字符串长度。
返回值:number。
●、语法:new Date().getDay();
功能:获取星期
返回值:number(0-6)
●、语法:document.write(“内容”);
功能:向浏览器输出内容。
二、javascript的流程控制语句
1、if语句:
(1)、
if(条件){
代码1;
}
(2)、
if(条件){
代码1;
}else{
代码2;
}
(3)、
if(条件){
代码1;
}else if(条件){
代码2;
}else if(条件){
代码3;
}…else{
代码4;
}
(4)、if嵌套
if(条件){
代码1;
}else{
if(条件){
代码2;
}else{
代码3;
}
}
2多条件的判断 switch语句
如果expression(表达式)等于value(值),就执行case语句
switch(expression){
case value:statement;
break;
case value:statement;
break;
…
default:statement;
}
eg:
var week=new Date().getDay();
switch(week){
case 0:
document.write(星期日);
break;
case 1:
document.write(星期一);
break;
}
3、for循环
语法:
for(语句1;语句2;语句3){
被执行的代码块;
}
语句1:循环的初始值,在循环(代码块)开始前执行。
语句2:循环条件,定义运行循环(代码块)的条件。
语句3:变量的变化,在循环(代码块)已被执行之后执行。
●、for循环的嵌套
1、外层为假时内层不执行。
2、先执行外层,再执行内层,直至内层的条件为假时再返回外层去执行
eg:
for(var i=1;i<=3;i++){
document.write(i+’
’);
for(var j=1;j<=5;j++){
document.write(j+’
’);
}
}
4、while循环
语法:
while(条件){
需要执行的代码;
}
说明:条件成立时,执行{}里的代码。
eg:
var i=1;
while(i<=100){
document.write(i+’
’);
i+=1;
}
常见while:
while(1){
代码;
}
for与while区别:
●、for适合已知循环次数的循环体。
●、while适合未知循环次数的循环体。
5、do-while语句
语法:
do{
需要执行的代码;
}while(条件);
eg:输出1-10的偶数
var j=1;
do{
if(j%2==0){
console.log(j);
}
j++;
}while(j<=10);