JavaScript基础知识回顾

JavaScript基础知识回顾

1.什么是JavaScript?

JavaScript是一种专门为与网页交互而设计的脚本语言**,它由三个部分组成:

1.ECMAScript 提供核心语言功能。

2.文档对象模型(DOM)提供了访问和操作网页内容/元素的方法和接口。

3.浏览器对象模型(BOM)提供了与浏览器交互的方法和接口。例如:navigator,location,screen

2.在HTML中使用JavaScript

在HTML中使用JavaScript通常有两种方式:1.直接写在HTML的head标签之中。2.通过外部引入的方式。

在HTML解析过程中如果遇到JS代码,那么它就会去下载并执行JS代码,HTML页面的解析渲染过程会暂时挂起。

async,defer属性的作用是JS脚本在执行过程中不会影响页面的解析渲染

defer延迟脚本,只适用于外部脚本。添加了defer属性的JS脚本会等到HTML加载完毕的时候在去执行脚本文件。

async异步脚本,告诉浏览器立即执行脚本文件,但同时也不会阻止HTML文件的加载。

3.数据类型

基本数据类型:Number,String,Null,undefined,boolean

typeof 操作符可以用来检测变量的数据类型,通常是基本数据类型。例如判断一个变量是否存在就可以利用typeof 来进行,这相对来说是一种比较靠谱的方法。

var a = 'ff'
typeof a !== undefined
undefined

undefined的类型只有一个,即undefined。当声明一个变量没有对其初始化/赋值的时候,这个变量的值就是一个undefined。

var message; //undefined
typtypeof meaaage; //undefined
Null

如果用 typeof 来检测 Null的数据类型,会发现它返回的是 Object。这是因为Null指向的其实是一个空对象。如果一个变量将来要保存一个对象,那么在这个变量初始化的时候就可以赋值为null,通常可以用来初始化一个对象。

typtypeeof null // Object
Boolean

布尔值只存在两种类型,即true和false。它也是我们使用最广泛的一种数据类型。可以用它来控制条件语句的执行。虽然布尔值只有两个值,但是它可以调用Boolean()方法对其他类型的数据进行转换。

布尔类型转换:调用Boolean()方法可以实现将任意数据类型转换为布尔类型,注意!除空字符串"",null,undefined,0,NaN,-0,false会转为false,其余的均会转为true

Number

Number类型用来表示一个数值,可以是一个整数也可以是一个浮点数。

浮点数:浮点数指的是小数点后面至少有一位的数字。如0.1,10.12,99.99999

浮点数的运算通常有精度问题,例如 0.1+0.2!=0.3 而是等于0.30000000000000004

浮点数运算小数的最高精度为17位小数。

NaN: 非数值,是一个特殊的数值。指的是一个预期返回数值然而并没有返回数值的情况。例如:‘blue’-‘ff’ 就返回一个NaN

'blue' - 'ff' // NaN
nnnNaN == NaN // false

isNaN() 方法用来判断一个值是否不是数值,这个参数可以是任意类型。

isNNaN('aa') // true
isNNaN(111) // false
4.操作符
算数运算符:+,-,*,/,%

如果是两个字符串相加,就会使两个字符串拼接:

var a = 'hello'
var b = 'word';
a + b = 'hello word'

如果两个变量中有一个是number 一个是字符串类型,那么就会将另一个数字为字符串类型,实现字符串拼接。

var a = '1';
var b = 2;
a + b = '12'
自增自减运算符: ++,–

顾名思义,可以实现对一个数字类型变量的自增自减,如果要实现对一个字符串的自增自减呢,实际上他会输出NaN。

对一个变量实现前置自增/自减或者后置自增/自减其效果是不一样的。

var n = 1;
n++;
++n

前置自增:它会对这个变量先进行+1之后再返回来

后置自增:它会先返回这个变量,在进行+1的操作

赋值运算符:=,+=,-=,*=,/=,%=

+= 的意思是:

var a = 10;
a += a + 10;
逻辑运算符:&&,||, !

&&(与) : 并且的关系,须满足全部条件才可以

||(或):只要满足其中一个条件即可,后面的条件就不会往下执行了

!(不等于):不满足某个条件

比较运算符:=,=,!=,!,>,<,>=,<=

如果是 == 的话会存在一个数据类型转换的过程,例如:‘11’ == 11 它会默认将其中一个值转换为与另一个一样的数据类型,所以一般实际工作中还是使用 ===全等比较好。

三元运算符:?:

通常用来做一些简单的逻辑运算:

a === 10 ? 100 : 200
5.条件表达式

switch(),if-else()

switch(type){
    case 1:
    ...
    break;
    case 2:
    ...
    break;
    default:
    ...
}

以上代码给switch传了一个type值进去,然后分别有case 1,case 2的两个条件,当满足其中一个条件后就会执行其中的代码,并在执行完后退出循环,如果都不满足就会执行default中的代码

if( a=== 1){
    ...
}else if(a === 2){
    ...
}else{
    ...
}

以上代码是一个if条件语句,当满足其中某个条件时就会,执行其中的代码,如果没有满足的条件就会执行 else中的代码

6.循环语句

for,for…in, while,do-while

平时用的最多的莫过于for循环了,它包括一个初始变量,循环条件,变量自增。通常用来遍历一个数组

for(var i = 1; i<10; i++){
    ...
}

fo…in 通常用来遍历数组或者一个对象

var arr = [1,2,3,4,5]
for(var i in arr){
    arr[i]
}

while 最为简单的一种循环,小括号内的为条件,大括号内的为要执行的代码块

while(i<10){
    i++
}

do…while 可以说是while 循环的一种改进型,通常代码块在前,无论如何代码块中的代码都会先执行一次,然后再去执行条件部分

do{
 a++   
}while(a<10)

你可能感兴趣的:(javascript,前端,开发语言)