JavaScript基础部分笔记整理
一、计算机基础
1.数据存储单位:
- 位(bit):1bit可以保存一个0或者一个1(最小的存储单位)
- 字节(byte):1B = 8b
- 千字节(KB):1KB = 1024B
- 兆字节(MB):1MB = 1024KB
- 吉字节(GB):1GB = 1024MB
- 太字节(TB):1TB = 1024GB
2.程序运行:
硬盘→内存→CPU
二、初识JavaScript
1.浏览器执行JS简介
浏览器分成两部分:渲染引擎、JS引擎
渲染引擎:用来解析HTML和CSS,俗称内核,比如Chrome浏览器的blink。
JS引擎:也称JS解释器,用来读取网页中的JS代码,对其处理后运行。
2.JS组成
① ECMAScript(js基础):JavaScript语法;
② DOM(API):页面文档对象模型;对页面上的各种元素进行操作(大小,位置,颜色等)。
③ BOM(API):浏览器对象模型;提供独立于内容的可以与浏览器窗口进行互动的对象结构,如弹出框、控制浏览器跳转、获取分辨率等。
3.JS书写位置
① 行内式的js
<input type="button" value="苹果" onclick="alert(香蕉')">
② 内嵌式的js
可在<head>标签内写
<head>
<script></script>
</head>
③ 外部式的js
在<head>标签内写 <script scr="js地址"></script>
4.JS注释
① 单行注释:// 注释 (快捷键 ctrl+/)
② 多行注释: /* 注释*/ (快捷键 shift + alt + A)
5.JS输入输出语句
| 方法 | 说明 |
|---|---|
| alert(msg) | 浏览器弹出警示框 |
| console.log(msg) | 浏览器控制台打印输出信息 |
| prompt(info) | 浏览器弹出输入框用户可以输入 |
6.变量
使用有两步:声明变量→赋值
- 单个变量
① 声明变量:var age;
② 赋值: age = 18;
③ 变量初始化:var age = 18;
- 多个变量
① 声明变量:var age = 10,userName = 'wr',sex='2';
- 变量命名规范
●由字母(A-Za-z)、 数字(0-9)、 下划线(_)、 美元符号($ )组成,如: usrAge, num01, _name
●严格区分大小写。var app;和var App;是两个变量
●不能以数字开头。18age 是错误的
●不能是关键字、保留字。如: var、for、 while
●变量名必须有意义。MMD、BBD不合适
●遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。如:myFirstName
三、数据类型简介
JS把数据类型分为两类:简单数据类型(Number、String、Boolean、Undefind、Null)&复杂数据类型(object)
1.简单数据类型
(基本数据类型)
| 简单数据类型 | 说明 | 默认值 |
|---|---|---|
| Number | 数字型,包括整型值和浮点型值 | 0 |
| String | 字符串类型,(js里面字符串都带 ' ' ) | " " |
| Boolean | 布尔值类型,如true、false,等价于1、0 | false |
| Undefined | 声明了变量,但没给变量赋值 | undefined |
| Null | 声明了变量为空值 | null |
- 数字型要点:
isNaN()判断非数字,并返回一个值:如果是数字返回false,如果不是数字返回ture。
数字型进制:二进制、八进制(范围:0~7,前面加0)、十进制、十六进制(范围:0~9以及A~F,前面加0x)。
数字型三个特殊值:Infinity 无穷大; -Infinity 无穷小;NaN 代表一个非数值。
- 字符串要点:
字符串转义符:\n 换行符;\ 斜杠; '单引号; "双引号;\t 缩进;\b 空格
字符串的长度:使用字符串的属性length属性:star.length (star是变量名)
字符串的拼接:字符串+任何类型=拼接之后的新字符串
2.获取变量数据类型
使用typeof语法:typeof+空格+变量名
3.数据类型转换
- 转换为字符串
| 方式 | 说明 | 案例 |
|---|---|---|
toString() | 转成字符串 | var num=1;alert(num.toStrig()); |
String()强制转换 | 转成字符串 | var num=1;alert(num.Strig(num)); |
| + 拼接字符串 | 和字符串拼接的结果都是字符串 | var num=1;alert(num+"我是字符串")); |
- 转换为数字型(重点)
| 方式 | 说明 | 案例 |
|---|---|---|
parseInt(string)函数 | 将String类型转换成整数数值型 | parseInt('78') |
parseFloat(string)函数 (最佳) | 将String类型转换成浮点数数值型 | parseFloat('78.21') |
Number()强制转换函数 | 将String类型转换成数值型 | Number('12') |
| js隐式转换( - * / ) | 利用算术运算隐式转换为数值型 | '12'-0 |
- 转换为布尔型
Boolean()函数:代表空、否定的值(' '、0、NaN、null、undefined)会被转换为false,其余值都转换为true。
4.解释型&编译型语言区别
编译型语言:全部编译完然后再执行 解释型语言:边编译边执行
四、运算符
1.JS中常见的运算符
-
操作符左右建议加一个空格
-
算术运算符:
加
+、减-、 乘*、除/、取余数(取模)%
浮点数运算会有存在精度问题 -
递增和递减运算符(面试重点)
前置递增运算符:++变量名;(先自加1,后返回原值)eg:var a = 10; ++a; var b = ++a + 2;此时b为14
后置递增运算符:变量名++;(先返回原值,后自加1)eg:var a = 10; a++; var b = a++ + 2;此时b为13
例子:var a = 10; var b = a++ + ++a;此时b为22(b中的a++为10,a成了11;所以是10+ ++a,即10+12=22) -
比较运算符
运算符名称 说明 案例 结果 < 小于号 1<2 true 大于号 1>2 false >= 大于等于号(大于或者等于) 2>=2 true <= 小于等于号(小于或者等于) 3<=2 false == 判等号(会有隐式转换)(只要求值相等) 37==37 true != 不等号 37!=37 false === !== 全等(要求值和数据类型都一致) 37==='37' false -
逻辑运算符(除了0所有数字都是真,一般空的或者否定为假,其余为真)
逻辑运算符 说明 案例 && "逻辑与",简称"与"and(一个为假就是假) true&&false ll "逻辑或",简称"或"or(一个为真就为真) truellfalse ! "逻辑非",简称"非"not(取反) !ture 短路运算原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值。(面试重点)
① 逻辑与短路运算:
语法:表达式1&&表达式2
如果第一个表达式1的值为真,则返回表达式2;如果第一个表达式1的值为假,则返回表达式1。
① 逻辑或短路运算:
语法:表达式1||表达式2
如果第一个表达式1的值为真,则返回表达式1;如果第一个表达式1的值为假,则返回表达式2。
-
赋值运算符
赋值运算符 说明 案例 = 直接赋值 var a = '我是值'; +=、-= 加、减一个数后,再赋值 var a = 10; age += 5; 结果:15 *=、/=、%= 乘、除、取模后,再赋值 var a= 2; age *= 5; 结果:10
2.运算符优先级
| 优先级 | 运算符 | 顺序 |
|---|---|---|
| 1 | 小括号 | () |
| 2 | 一元运算符 | ++、--、! |
| 3 | 算术运算符 | 先*``/``%后+``- |
| 4 | 关系运算符 | >、>=、<、<= |
| 5 | 相等运算符 | ==、!=、===、!== |
| 6 | 逻辑运算符 | 先&&后ll |
| 7 | 赋值运算符 | = |
| 8 | 逗号运算符 | , |