JavaScript学习第二篇
运算符的简写
a=a+2; a+=2;
a=a-2; a-=2;
a=a*2; a*=2;
a=a/2; a/=2;
a=a%2; a%=2;
自增自减
var a=1;
先加:++a;
看到先加,先计算加加,然后在进行计算
后加:a++;
看到后加,先把加加去掉,去掉后进行计算,得出答案后再自加加
逻辑运算符
&& 与(并且)
1>3&&1<3 ----错
true&&true ----true
false&&true ----false
特点:一错都错
|| 或(或者)
1>3||1<3 ----true
false || true ---- true
特点:一对都对
! 非(取反)
!true !false
得到对应boolean的对立值
注意:混合逻辑运算的时候不是从左向右运算也不是从右向左
逻辑运算符的优先级
!>&&>||
比较运算符
>大于
<小于
>=大于等于
<=小于等于
==判断是否相等
只判断数据内容,不判断数据类型
===判断是否全等
判断数据内容也判断数据类型,NaN他不等于自己
!=不等于
不关心类型,比较内容。内容一样返回falsse,反之返回true
!==不等等于
只要内容或者类型不一样就返回true,反之返回false
赋值运算符:=
作用:将等号右边的结果赋值给等号左边的内容
顺序:从右边开始。得到结果后再是左边
特殊情况:连等
boolean在内存中存储的格式
所有的都是存储在内存中,boolean存储的时候,会将true转成1,false转成0,所以1表示ytrue,0表示false
数据类型的转换
强制转换
通过prompt("")输入数据的类型,不管我们输入的是什么样的内容,浏览器都把他当做string类型
1、转Number
一、Number(“要转换的内容”)
a.如果转换的内容可以转换成数字,那么久直接返回这个内容对应的数字
b.如果不可以转换那么返回NaN
c.如果在内容中出现小数,那么小数就会保留
d.如果在内容为空,那么转换成0
二、parseInt()将内容转换成Number
a.如果转换的内容可以转换成数字,那么久直接返回这个内容对应的数字
b.如果不可以转换那么返回NaN
c.如果带有小数,那么会去掉小数,而不是四舍五入
d.如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止
三、parseFloat();转数字
与parseInt()一样,唯一的区别是可以保留小数
2、转字符串
一、to.string();
直接调用这个变量的tostring方法可以将内容转成字符
二、string();
直接将要转换的内容放在string后的括号中,就可以将内容转成字符串
第一个方法是直接调用这个变量对象中的方法
第二个方法是直接使用强制转换的方法
3、Boolean转换
除了false、0、“”、NaN、Undefined在转换的时候回转换成false之外,其他的都会被转换成true(包括false)
隐式转换
一、转Number
直接在要转换的内容前加“+”
eg:var a=“123”;----a=+a;
var a="123" ;----var b=a*2;----b=246;
二、转字符串
var a=123;a=a+"";
流程控制
if结构
作用:用于判断某些条件是否执行
if-else
if(条件语句1){
代码一
}
else{
代码二
}
判断条件是否满足,如果满足就执行if中的代码,如果不满足,执行else中的代码
注意:if的大括号后面不加分号
if和else中的代码只会执行一段不可能两段同时执行
if-else if-else
作用:用于判断多个条件是否执行
if(条件语句1){
代码块1
}
else if(条件语句2){
代码块2
}
else{
代码块3
}
else if结构中
1、else if后面必须要带条件
2、else if中的else if可以无数个
3、从上到下判断条件,可以找到满足条件一个判断,就会执行对应的代码,其他不会再去理会
4、如果所有条件都不会满足,会执行else中的代码
5、else可以不写,但是如果所有的条件都不满足,那么所有的代码都不会执行
6、else if在存放结构的时候最好小范围的条件存放在最前面
switch case
作用:用来判断多个条件中的哪一个条件满足要求
switch(变量){
case 变量的值1: 代码块1; break:
case 变量的值2: 代码块2; break:
case 变量的值3: 代码块3; break:
case 变量的值4: 代码块4; break:
default: 默认代码块;break;
}
注意:case可以有任意多个
case的结束部分必须有break
case的变量值后面的是冒号
default可以写也可以不写,但是如果不写都满足条件直接结束
三元运算(三目运算符)
结构:表达式?语句1:语句2;
作用:与if else结构一样
循环语句
while循环
特点:可以重复完成同样的事
代码
while(条件语句)
{
重复执行的代码块
}
执行:当程序运行到while的时候,会判断while后面括号中的内容,如果内容为true,会执行下面的代码,如果内容为false,则不执行这段代码,跳过这段代码执行下面的内容
注意:在写循环的时候一定要有循环的结束条件,如果没有就是死循环
终止循环
break:当遇到break的时候,整个循环都结束,开始下面的语句
continue:当遇到continue的时候,结束本次循环,开始下一次的循环
do-while循环
与while一样,唯一的区别就是while先判断后再做,do-while,先做再判断
代码:
do
{
要循环执行的代码块
}while(条件语句)
执行:代码从上到下执行的过程中如果遇到了do就会执行一次do后面的代码,执行之后再通过while来进行判断,如果判断通过那么再执行一次,如果判断不通过则结束循环
for循环
作用:用来执行一个循环的代码
代码:
for(var i=0;表达式;i++){
循环的代码块
}
执行:当代码从上到下执行到for的时候,代码会先声明变量i并赋值0,会进行判断var i=0分号后面的判断,执行下面的循环代码,当下面的代码执行完成后,再回来执行i++,这样就完成了一次循环,然后进行第二次循环,一次走下去
Object对象
1、对象的创建
var a=new object();
2、对象属性的添加
a.name="zhansan";
a.sex="男";
3、对象属性的取值
alert(a.name);
数组:Array
1、数组的创建:
var a=new Array();//创建一个数组
2、数组的赋值:
a[0]="81";
a[1]="82";
a[2]="83";
3、数组的取值
alert(a[2]);
4、注意点
a、js中的数组定义好了之后就是一个无穷大的容器
b、元素可以任意添加:数量不限制,数据类型不限制
c、元素的下标从0开始
5、遍历数组
for(var i=0;i<length;i++){
console.log(a[i]);
}
6、字符串可以看成是一个特殊的数组
var a="abcdef";
函数
1、作用:用来封装一些经常要用到的代码
2、结构:
function 函数名(){
//要封装的代码
}
3、函数的定义
function say(){
console.log("你好啊!");
}
4、函数的调用(使用)
函数名();
say();
注:一旦函数定义好了之后想在哪儿调用就可以在哪儿调用
5、函数的参数
形参:当创建函数的时候函数名后面的参数叫形参(形式参数)
实参:当调用函数的时候函数名后面的参数叫实参(实际参数)
6、函数的返回值
跟在return后面的数据,叫做函数的返回值
一般情况下函数如果没有return,那么这个函数默认返回:undefined