JavaScript基础笔记

2017-03-19  本文已影响0人  一叶一生一叶知秋

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 ):取出最小值;

上一篇下一篇

猜你喜欢

热点阅读