JavaScript基础

63 阅读4分钟

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 是错误的 
 ●不能是关键字、保留字。如: varforwhile
 ●变量名必须有意义。MMD、BBD不合适 
 ●遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。如:myFirstName

三、数据类型简介

JS把数据类型分为两类:简单数据类型(Number、String、Boolean、Undefind、Null)&复杂数据类型(object)

1.简单数据类型

(基本数据类型)

简单数据类型说明默认值
Number数字型,包括整型值和浮点型值0
String字符串类型,(js里面字符串都带 ' ' )" "
Boolean布尔值类型,如true、false,等价于1、0false
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<2true
    大于号1>2false
    >=大于等于号(大于或者等于)2>=2true
    <=小于等于号(小于或者等于)3<=2false
    ==判等号(会有隐式转换)(只要求值相等)37==37true
    !=不等号37!=37false
    === !==全等(要求值和数据类型都一致)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逗号运算符