JavaScirpt笔记(一)

一、JavaScirpt介绍

1.1JavaScirpt是什么

1.JS是什么

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

2.作用

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

        表单验证(判断合法性)

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

        服务端编程(node.js)

3.JavaScirpt的组成

ECMAScript:

规定了js基础语法核心知识。如:变量、分支语句、循环语句、对象等等。

Web APIs:

DOM  操作文档,如:移动页面元素、大小、添加删除等操作。

BOM  操作浏览器,如:页面弹窗、检测窗口宽度、存储数据刀浏览器等等。

1.2JavaScirpt书写位置

1.内部JavaScirpt

直接写在 html文件里,用 script标签包住

规范:script标签写在</body>上面

例:

<script>

alert('你好,js!')   —— alert:页面弹出警示框

</script>

</body>

注意事项:

<script>放在html文件底部(浏览器按代码顺序加载)

2.外部JavaScript

代码写在以.js结尾的文件里。

语法:通过script标签,引入到html页面中。

例:

<body>

<script src="my.js"></script>

</body>

注意事项:

script标签中间无需写代码,否则会被忽略。

3.内联JavaScript

代码写在标签内部

语法:

<body>

        <button onclick="alert('你好')">点我月薪过万</button>

</body>

1.3JavaScript注释

单行注释

符号://

作用://右边一行代码被忽略

快捷键:Ctrl+/

块注释:/*   */

作用:在/*与*/之间的所有内容都会被忽略

快捷键:shift+alt+a

结束符:英文;

实际可写可不写,浏览器自动判断结束位置

1.4JavaScript输入输出语法

输入:

①document.write('输出内容')——向body内输出内容

②alert('输出内容')——页面弹出警告对话框

③console.log('控制台打印')——控制台输出语法,程序员调试使用

输出:

prompt('输入语句')

——————alert()和prompt()会跳过页面渲染先被执行。

1.5字面量(字面量是在计算机中描述事/物)


二、变量

2.1变量是什么(装东西的盒子)

变量是计算机用来存储数据容器

2.2变量的基本使用

1.声明变量:

使用变量前要创建变量(也称为声明变量或者定义变量)

语法:let 变量名(let不允许多次声明同一个变量)

声明变量由两部分组成构成:声明关键字、变量名(标识)

举例:

age为变量的名称,也叫标识符。

2.变量赋值

定义一个变量后,就能够初始化它(赋值)。在变量名之后跟上一个“=”,然后是数值。

也可声明时直接赋值,称为变量初始化

“=”左右两边均有空格

3.更新变量

变量赋值后,还可以通过简单地给它一个不同的值来更新它。

4.声明多个变量(不推荐)

语法:多个变量之间用逗号隔开

2.3变量的本质

内存:计算机中存储数据的地方,相当于一个空间

变量本质:程序在内存中申请的一块用来存放数据的小空间

2.4变量命名规则与规范

1.规则

①不能使用关键字

②只能用下划线、字母、数字、$组成,且数字不能开头

③字母严格区分大小写

2.规范:

①起名有意义

②遵守小驼峰命名法——第一个单词首字母小写,后面每个单词首字母大写,如:userName

变量拓宽—数组

数组(Array):将一组数据存储在单个变量名下

let arr = [ ]

1.1数组的基本使用

1.声明语法

数组是按顺序保存,每个数据都有编号

编号从0开始,例:小明为0,小红为1,以此类推

在数组中,数据的编号也叫索引号或下标

2.取值语法

数组名[下标]

name[0]  //小明

name[1]  //小红

3.一些术语

元素:数组中保存的每个数据都叫数组元素

下标:数组中数据的编号

长度:数组中的数据个数,通过数组的length属性获得(arr.length可自动获取数组长度)

数组长度=索引号+1


三、常量

3.1常量的基本使用

概念:使用const声明的变量称为“常量”

使用场景:当某个变量永远不会改变的时候,就可以用const声明

命名规范:和常量一致

常量使用:

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

及不需要重新赋值的数据使用const


四、数据类型

4.1

数据类型——数字类型(Number)

即数学中学习到的数字,可以是整数、小数、正数、负数

JS是弱数据类型,变量属于哪种类型只有赋值后才能确认

Java是强数据类型,例如int a=3 必须是整数

算术运算符:与C语言相同

NaN代表一个计算错误。由一个不正确或未定义的数学操作所得结果。

如:console.log('你好'-2) //NaN

NaN是粘性的。任何对NaN的操作都会回到NaN

如:console.log(NaN+2) //NaN

数据类型——字符串类型(string)

单引号('')、双引号("")或反引号(`)包裹的数据都叫字符串,推荐使用单引号

1.无论单引号或者双引号必须成对使用

2.单引号/双引号可以互相嵌套,但不能自己套自己(外双内单或外单内双)

3.必要时可以使用转义符\,输出单引号或双引号

字符串拼接:+           数字相加,字符相连

模版字符串:拼接字符串和变量

语法:

反引号``

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

数据类型——布尔类型(boolean)

表示肯定或否定时在计算机对应的是布尔类型数据

它有两个固定的值true(真)和false(假)

数据类型——未定义类型(undefined)

未定义是比较特殊的类型,只有一个值undefined

只声明变量不赋值的情况下,变量的默认值为undefined,一般很少直接为某个变量赋值undefined

用于检测某个值是否运送过来

数据类型——null类型(空类型)

JS中的null仅仅是一个代表“无”、“空”或“值未知”的特殊值

如果一个变量里面确定存放的是对象,如果还没有准备好对象,可以放个null

undefined表示没有赋值

null表示赋值了,但是内容为空

console.log(undefined + 1)  //NaN

console.log(null + 1) //1

4.2检测数据类型

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

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

2.函数形式:typeof(x)


五、类型转换

类型转换:把一种数据类型的变量转换成我们需要的数据类型。

5.1隐式转换

隐式转换:某系运算符被执行时,系统内部自动将数据类型进行转换。

规则: 

+号两边只要有一个是字符串,都会把另一个转成字符串

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

小技巧:

+号作为正号解析可以转换成数字型

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

5.2显式转换

Number(数据)

转成数字类型

如果字符串内容里有非数字,转换失败时结果为NaN(Not a Number)即不是一个数字

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

Parselnt(数据)只保留整数

parseFloat(数据)可保留小数


六、运算符

6.1赋值运算符——对变量进行赋值的运算符

 =  :将等号右边的值赋予给左边,要求左边必须是一个容器

+= : a+= 1→a=a+1

-=

*=

/=

%=

6.2一元运算符

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

和三元运算符

例:10+20→+为二元运算符

一元运算符:正号和符号

自增:

符号++

作用:让变量的值+1

自减同理

常用于计数,计算次数

前置自增:先自加再使用

后置自增:先使用再自加

二者单独使用无区别

一般使用i++,且单独使用

6.3比较运算符

其余同C语言

===:左右两边是否类型和值都相等

比较结果为布尔类型,只会得到true或false

tips:

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

从左往右依次比较

如果第一位一样再比较第二位,以此类推

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

尽量不要比较小数,存在精度问题

不同类型之间比较存在隐式转换——最终将数据转换成number类型再比较

6.4逻辑运算符

&&:与(一假则假)

||:或(一真则真)

!:非(真假互换)

6.5运算符优先级

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值