1、console与alert的区别:
console.log();是在浏览器的控制台输出的(F12检查);alert是一个阻断式的弹出框;
2、变量的使用:
2.1.声明一个变量:统一使用var声明
在js中使用我们的自动推到机制类型(同一区域内,变量名不允许重复,若重复,就近原则)
2.2赋值
2.3使用
3、变量命名规范:
3.1人为:必须以字母或“_”或“$”,不允许空格,首字不能为数字,不宜太长,区分大小写,js语句松散,可以使用中文,但不能写,不能重复。
3.2js内部约定:关键字不能冲突;
3.3企业开发规定:
3.3.1骆驼式命名法(camel)/小驼峰:首字母小写,其他首字母大写
3.3.2帕斯卡命名法(Pascal)/大驼峰:首字母大写,其他首字母也是大写
3.3.3匈牙利命名法(Hungarian):基本和帕斯卡一样,但在第一个单词的前面会加一个小写字母,注意小写字母是变量类型。在js中不实用,因为统一使用var,但在其他语言中较重要。
4、变量的数据类型:
字符串(string)、数字(number)、布尔(bool)、对象(Object)、underfined(未定义)、null(空)
typeof:关键字帮助我们检测类型
5、数据类型之间的转换:(字符串转数字)
5.1直接使用js内部提供的方法进行转换:
parseInt:可以将一个字符串型的整数进行转换(可以提取数字,但首字母必须是数字,若不是,显示Nan-not a number,在js中Nan是不想等的)
parseFloat:可以将一个字符串型的非整数进行转换
在js(弱类型语言)中,虽说有类型区分,但是,不管是int或float,统一使用number转换
5.1.1Infinity:用于存放表示正无穷大的数值;本身也是一个类型,可以直接使用,但首字母必须是大写。
5.2直接使用Number对象进行包裹
5.3参与数学计算(除了加法以外)
6、数字和字符串的转换:
6.1使用数学运算(仅限于加法)
6.1.1使用字符串方法:console.log(a.toString());
6.1.2直接使用String属性进行包裹:console.log(String(a));
6.2小数化转换
6.2.1保留三位有效数字
console.log(a.toFixed());
6.2.2以指数形式保留
console.log(a.toExponential());
6.2.3取三位数字,也会四舍五入
console.log(a.toPrecision());
6.3Bool类型转换:
6.3.1Bool类型转换成数Bool字:Number;
6.3.2Bool类型转换成字符串:String;
6.3.3数字转换成Bool:Boolean;(非零即为true)
6.3.4字符串转换成Bool:(字符串转布尔,必须有值,空也不行)Boolean;
6.3.5其他类型转Bool:Boolean;
7、基础类型的包装类型:
在JavaScript中,基本类型:数字、boolean、string。 使用规定大小位置进行数据的存储(Java,C#这些语言中)。 函数是一种数据类型。 在JavaScript中所有的基本类型仅仅只有数据本身,没有所具备的方法和属性。
只有对象才具备调用属性和方法
8、underfined和null:
null是不指向任何对象,如果给一个对象赋值了null,该对象有值,只不过是null;
underfined表示声明了一个对象,但是没有赋值任何值,所以对象显示的是underfined。(看似一样,但类型不同)
9、运算符
运算符是指将变量连接成具体的代码的符号
1.种类:算术、赋值、关系、逻辑、三目、自增自减
2算术运算符:在程序中帮助我们进行加减乘除运算的符号;
+:加号,可以做正号;
-:减号,可以做负号;
*:乘号;
/:除号;
%:取余(取模),正负取决于%左侧的数值;
3赋值运算符:给变量赋值;
复杂赋值:a+=1;等于a=a+1;
4自增自减运算符:
a++ :后加,运算结束加1;++a:前加,运算前自加1.
5.关系运算符(比较运算符):默认情况下,代码会按顺序执行,但有时,我们不希望程序一运行就执行,希望在满足一定的条件的时候去执行,所以我们需要进行条件判断!
5.1关系运算符包括:> < >= <= == === != !==
5.2所有关系运算符运算的结果都是布尔值。
5.3对于大于等于和小于等于只要一个符合条件就会返回true。
5.4==只是比较内容是否相等,并不比较类型。
5.5===除了比较内容是否相等,还需要比较类型是否相同,只有两者都相同,才会返回true。
5.6!=和!==(不等等)的使用:
!=是两个等于的关系,!是取反,即为不等;只比较内容,不比较类型;
同理!==为不等等;既比较内容,也比较类型;
5.7注意:关系运算符不能连续使用
5.8关系运算符的规律:
5.8.1如果都是关系运算符,按照从左往右依次运算;
5.8.2如果> < >= <= 和!= !==,那么左边的优先级一样,右边的优先级一样。左边的优先级大于右边
5.8.3算术运算符和关系运算符结合,算术运算符的优先级高于关系运算符。
6.逻辑运算符:
6.1逻辑运算符包括:&&(与)、||(或)、!(非),
6.2逻辑运算符参与运算的变量必须是布尔值
6.3&&两个条件都必须满足
6.4||只要满足一个即可
6.5!取反操作
7.三目运算符:
7.1单目运算符:!10只有一个数值参与运算;
7.2双目运算符:10>5,两个数值
7.3三目运算符:三个表达式进行计算;格式:条件?数值1:数值2;如果条件为true,返回数值1,为false,返回数值2;
运算符优先级:
同一优先级由结合方向决定
不同:!
10.+在js中的作用:
10.1如果两边都是数字,直接使用+进行数学加法运算
10.2如果有一边是字符串,一边是数字,+号是连接作用,输出的是字符串。
10.3还可以进行拼接操作
单双引区别:
1.js语言类型差异化,类型没那么严格,使用单双引都一样(只在js中)
2和html组合使用,html标签用“”,js用‘’。
11.程序流程控制:
1.顺序结构:
2.选择结构:
2.1if语句:特点:自由行比较大,条件既可以是数值,也可以是表达式
if(条件){
要执行的代码段
}else if(条件2){
要执行的代码段2
}else{
执行的代码段3
}
2.2if语句的简写:
if(条件)
代码1
代码块2
2.3if的跳楼现象:如果判断某一个条件成立,执行完对应的代码后,后面的判断以及代码都不会再继续执行下去。(如果需要解决我们的if跳楼现象,可以直接将else-if中的else去掉)
3.switch分支语句:基本和if 一样;
注意:case后为冒号,case里的只能是一个值,不能是比较式。
格式:switch(变量/数值){
case 数值1:
代码段1;
break;
case 数值2:
代码段2;
break;
case 数值3:
代码段3;
break;
default:
代码段4;
break;
}
在js中,使用switch需要加上break关键字,如果不加,会一直执行,知道找到break为止。
两者关系:
if语句能做的,switch不一定能;
switch语句可以做的,if都可以做;
4.循环语句:while语句
while(条件){
循环体(代码段)
}
执行原理:先判断条件是否成立,如果不成立,不执行;如果条件成立,则执行循环体,然后进行判断,执行循环体,知道不满足条件,跳出循环体。
break语句和continue语句:
continue语句结束当前的循环体,直接进行下一次循环;
break语句直接结束整个循环体
do-while循环语句:
do{
循环体
}while(条件);
先执行循环体的代码,再进行半段条件是否成立
while和do while区别:
do while:不管条件是否成立,先执行一次循环体,再去判断条件;
while:先判断条件是否成立,再执行循环体;
5for循环语句:先执行初始化语句,然后再判断条件,若条件成立,则执行循环体,不成立,结束整个循环体
for(初始化语句;条件(语句2);语句3){
循环体
}
执行原理:
当for循环后,先执行初始化语句,后判断条件是否成立,如果成立,执行循环体,再执行语句3,执行循环体,依次循环;当条件不成立时,跳出循环体。
10、Math库介绍和常用方法:
Math.pow(x,y):x的y次方;
Math.sprt(x):开平方;
Math.abs(x):取绝对值;
Math.max(a,b,c,d):取出最大值;
Math.min(a,b,c,d ):取出最小值;