(一)计算机基础
1.计算机组成:
硬件:输入设备 输出设备 CPU 硬盘(永久存储数据) 内存(暂时存储数据)
软件:系统软件 应用软件
2.数据存储:计算机内部使用二进制0和1表示数据
3.数据存储单位:
位bit < 字节byte < 千字节kb < 兆字节mb ...(1byte = 8bit 1kb = 1024byte)
4.程序运行
硬盘->内存条->cpu(cpu执行代码)
注意:之所以要内存的重要原因:cpu运行太快了,如果只从硬盘读取数据,会浪费cpu性能,所以,才使用内存速度更快来保存运行时的数据.
(二)浏览器执行js过程
1.浏览器的组成分为两大部分:选忽然引擎和JS引擎
- 渲染引擎:用来解析HTML和CSS,俗称内核,比如chrome浏览器blink
- JS引擎:也称为JS解释器,用来读取网页中的JS代码,对其处理后运行,比如chrome浏览器的V8
注意:浏览器本事并不会执行JS代码,而是通过内置JS引擎(解释器)来执行代码,JS引擎执行代码时逐行解释每一句源码(转为机器语言),,然会由计算机去执行,所以JS语言归为脚本语言,会逐行解释执行.
(三)JS组成
ECMAScript bom dom
DOM:文档对象模型,是W3C组织推荐的处理标记语言的标准编程接口,通过DOM提供的接口可以对页面上的各种元素进行操作(大小/位置/颜色等)
BOM:浏览器对象模型,他提供了独立于内容的/可以与浏览器窗口进行互动的对象结构,通过BOM可以操作浏览器窗口,比如弹出框/控制浏览器跳转/获取分辨率等等
(四)JS三种书写位置
<!-- 1.行内式的JS:直接写到元素的内部 -->
<input type="button" value="唐伯虎" onclick="alert('点秋香')">
<!-- 2.内嵌式JS -->
<script>
alert("唐伯虎点秋香")
</script>
<!-- 3.外联式JS -->
<script src="./基础.js"></script>
1.行内式JS:可读性差,html中编写大量JS代码,不方便阅读
2.内嵌式
3.外联式:适用于JS代码两比较大的情况
(五)JS输入输出语句
alert():弹出框 console.log():输出框 prompt():输入框
(六)JS数据类型
简单数据类型:number string boolean underfined null
复杂数据类型:object
1.number:八进制在数字前面加0;十六进制在数字前面加0x;infinity无穷大;-infinity无穷小
NaN:not a number ==> isNaN()用这个方法判断非数字,返回true/false
2.string:嵌套单套双 双套单
转义符:\n => 换行 \\ => 单斜杆\ \' =>单引号' \t =>tab缩进 \b => 空格
3.boolean:true false可以参与数字相加减 true=1;false=0
4.undefined:声明变量没有赋值 和string相加:undefinedstring 和number相加:NaN
5.null: 和string相加:nullstring 和number相加:number
(七)获取变量数据类型
typeof:获取数据变量类型 console.log(num)
蓝色:数字类型/boolean 黑色:string型 灰色:undefined/null
(八)数据类型转换
1.转换为字符串:(1)toString() num.toString()
(2)String()强制转换String(num)
(3)隐式转换:num + "字符串"
2.转换为数组型:(1)parselent(str)函数
(2)parseFloat(str)转换成浮点数数值类型
(3)Number()强制转换函数
(4)隐式转换:通过计算符号 'str' + 0
3.转换为Boolean类型: Boolean()函数 string&非0number 为true null/NaN/null/0 为false
(九)标识符/关键字/保留字
1.标识符:开发人员为变量/属性/参数取的名字,标识符不能是关键字或保留字
2.关键字:是指js已经使用了的字,不能再用他们充当变量名/方法名
如:break,case,catch,continue,default,do,else,finally,for,function,if,in,instanceof,new,return,switch,this,throw,try,typeof,var,void,while,with等
3.保留字:预留的"关键字",不能用来当变量名或方法名
如:boolean,byte,char,class,const,debugger,double,enum,export,extends,fimal,float,goto,implements,import,int,interface,long,mative,package,private,protected,public,short,static,super,synchronized,throws,transient,volatile等
(十)运算符operator
1.算术运算符: + 加 - 减 * 乘 / 除 % 取余
浮点数在算数运算中存在误差,不能使用浮点数判断是否相等
2.比较运算符:> < >= <= == != ===
3.逻辑运算符:&&与 ||或 !非
短路运算(逻辑终端):当有多个表达式(值)时,左边的表达式可以确定结果时,就不再继续运算右边的表达式的值
&&的逻辑中断:表达式1&&表达式2: 1为真返回表达式2;1为假返回表达式1
|| 的逻辑中断:表达式1 || 表达式2: 1为真返回表达式1;1为假返回表达式2
(空/否定/0/" "/null/undefined/NaN 为假)
4.赋值运算符:= += -= *= /= %=