JavaScript基础学习笔记

一、js简述

1.JavaScript是什么

是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。

2.JavaScript做什么

-- 网页特效(监听用户的一些行为让网页作出对应的反馈)

-- 表单特征(针对表单数据的合法性进行判断)

-- 数据交互(获取后台的数据,渲染到前端)

-- 服务端编程(node.js)

3.JavaScript组成

 ECSAScript:

规定了js基础语法核心知识。

比如:变量、分支语句、循环语句、对象等等。

Web APIs:

DOM 操作文档,比如对页面元素进行移动、大小、添加删除等操作

BOM 操作浏览器,比如页面弹框,检测窗口宽度、存储数据到浏览器等等

二、js书写位置

        行内:代码写在标签内部

        内部:直接写在html文件里,用script标签包住。script标签写在</body>上面

        外部:代码写在以.js结尾的文件里,通过script标签,引入到html页面中

注释

输入输出语法

三种输出

一种输入

字面量:在计算机中描述事/物

三、变量(计算机存储数据的容器)

1.基本使用:

        声明(定义): let 变量名    let age

        赋值: =            age = 18

通过变量名使用数据

2.更新变量

let age = 18

age = 19

console.log(age)

3.变量的本质

是程序在内存当中申请的一块用来存放数据的小空间

补充:

四、数组 

一种将一组数据存储在单个变量名下的方式

1.基本使用

数组是按顺序保存,所以每个数据都有自己的编号(索引、下标)

五、常量

使用const声明的变量称为“常量”(不是let

常量不允许重新赋值,声明的时候必须赋值(初始化)

六、数据类型

JS数据类型整体分为两大类:

        > 基本数据类型

        > 引用数据类型

1.数字型(number)

即我们数学中学习到的数字(整数,小数,正数,负数)

js是弱数据类型的语言(只有赋值之后才知道变量/常量的数据类型)

 算术运算符:+、-、*、/、%(取模)

NaN是一个“不是一个数字”,是粘性的任何对NaN的操作都返回NaN

2.字符串类型(String)

通过单引号、双引号、反引号包裹的数据(单引号和双引号没有本质上的区别,推荐使用单引号

必要时使用转义字符

字符串拼接:+

模板字符串:     使用场景:拼接字符串和变量

                           语法: ·· 反引号(Tab键上面那个键)

                           内容拼接变量时用${}包住变量

3.布尔类型(boolean)  true false

4.未定义类型(undefined) 只有一个值undefined

只声明变量,不赋值的情况下,变量的默认值为undefined

5.空类型(null)赋值了,但是内容为空

把null作为尚未创建的对象(将来有个变量里面存放的是一个对象,但是对象还没有创建好,可以给个null)

undefined + 1       NaN

null + 1                 1

6.检测数据类型   通过typeof关键字检测

1 > 作为运算符:typeof x (常用写法)

2 > 函数形式:typeof (x) 

7.类型转换:使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算

        隐式转换:某些运算被执行时,系统内部自动将数据类型进行转换,这种转换被称为隐式转换

                规则:+ 号两边只要有一个字符串,都会把另外一个转成字符串(+'123'  +号将123转为                        了数字型)

                           除了 + 号以外的算术运算符都会把数据转成数字型

                缺点: 转换类型不够明确,靠经验才能总结

                            任何数据和字符串相加结果都是字符串

        显式转换:自己写代码告诉系统该转成什么类型

                        转为数字型        Number(数据)

                        NaN也是number类型的数,代表非数字

                        parseInt(数据):只保留整数

                        parseFloat(数据):可以保留小数

七、运算符

1.赋值运算符:=、+=等等

       众多的JavaScript 的运算符可以根据所需表达式的个数,分为一元运算符、二元运算符、三元运算符

2.一元运算符 :+、- (正号、负号),自增(++)自减(--)

前置自增和后置自增单独使用没有任何区别

一般在开发中都是独立使用

3.比较运算符(也有隐式转换)

NaN不等于任何人,包括他自己

字符串比较,是比较字符对应的ASCII码

不同类型之间比较会发生隐式转换

所以推荐使用 ===、!==

4.逻辑运算符(与或非) 多重条件判断

5.运算符优先级

八、语句

1.表达式与语句的区别:

表达式可以被求值的代码,JavaScript引擎会将其计算出一个结果

语句是一段可以执行的代码(不一定有值)

2.分支语句

三大流程控制语句:

以前我们写的代码,写几句就从上往下执行几句,这种叫顺序结构。有的时候要根据条件选择执行代码,这种就叫分支结构

分支语句:可以让我们有选择性的执行想要的代码

分支语句包含:if分支语句、三元运算符、switch语句

(除了0,所有的数字都为真,除了空字符串,所有的字符串都为真)

三元运算符(等同于if-else语句)

一般用来取值

3.循环语句

断点调试(设置断点)

while循环 :在满足条件期间,重复执行某些代码

 

 

 九、for循环

  十、数组

数组:可以按顺序保存数据的数据类型(单个变量存储多个数据)

1.声明: let 数组名 = [数据1,数据2,...]

               let arr = new Array(数据1,数据2,... ,数据n)

2.取值语法 数组名 [下标]

3.操作

增: arr.push() 添加到末尾,并返回新长度           arr.unshift()  添加到开头,并返回新长度

删:arr.pop() 删最后一个,并返回删除元素的值    arr.shift() 删第一个,并返回删除元素的值

arr.splice(操作的下标,删除的个数(如果省略,则默认从指定的起始位置删除到最后))

十一、函数

1.为什么需要函数?

可以实现代码复用,提高开发效率

2.函数是什么?

function执行特定任务的代码块

3.函数使用

函数的声明

函数的命名规范

函数的调用

4.函数传参 

 调用

形参和实参的概念

 参数默认值

 5.函数返回值(return)

返回值的函数:

当调用某个函数,这个函数会返回一个结果出来

细节:

 函数细节补充

6. 作用域

7.匿名函数

没有名字的函数,无法直接使用

使用方式:

                函数表达式:将匿名函数赋值给一个变量,并且通过变量名称进行调用

具名函数的调用可以写到任何位置

函数表达式,必须程序按声明函数表达式,后调用

                立即执行函数: 避免全局变量之间的污染

第一种:

()():前一个写方法,后一个不写,表示立即执行(调用),立即执行函数必须加分号

第二种:

8.逻辑中断(类似于参数的默认值写法)

两边都为真,“与”的结果是第二个真值,“或”的结果是第一个真值

9.转换为boolean型

十二、对象

1.什么是对象(JavaScript里的一种数据类型)

可以理解为是一种无序的数据集合,注意数组是有序的数据集合

2.对象使用({}是对象字面量)

(1)对象的声明

(2)对象由属性和方法组成

属性就是依附在对象上的变量(外面是变量,对象内是属性)

(3)增删改查

查的另外一种:对象名['属性名']

(4)对象中的方法

方法调用 对象名.方法名

(5)遍历对象

K输出的是数组下标但是是字符串类型(很少用来遍历数组)

遍历对象用for...in

(6)内置对象

数据类型补充:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值