JS基础
01、 js
API:别人准备好的东西,我们负责使用。
能够独立写出所有代码。
五天之后说有代码从新写一遍。
十天过后提问。
问题用red标出
02、 js分为三部分、语法、注释(总结)、异步以及同步(简单介绍)、交换两个变量量的值、
命名规范必须遵守、类型转换、运算符、流程控制。
重点
03、 快捷键
等待添加
04、 浏览器
五大浏览器:chrome、firefox、safari、ie(*)、opera。
浏览器兼容问题(important)
测试只测试这五个(chrome、firefox、ie是重点)。
解析器专门解析代码的。
浏览器有存储数据的能力。保存数据是会删除的。
浏览器有负责联通网络的功能。
浏览器里所有的东西都是画出来的。
05、 JS组成及特点
- 组成
三部分ECMAScript-基本的语法对象(语法以及基本对象)
DOM:document object model 文档对象模型(内容的方法和接口)
BOM:broswer object model 浏览器对象模型(交互的方法和接口)
- Js是一门脚本(代码不需要编译(把代码转换成计算机所认知的二进制)直接执行、边解析一边执行的)、弱类、动态类型、解释性语言。
Int num=10; double num2=20.9;强制类型语言。
Var num=10;弱类型语言。
动态类型:认知当前的这个变量到底是什么类型。
跨平台性。
可以直接镶嵌到html中。
JS----livescript
JS与JAVA无关系
正式名称ECMAScript
06、 最初目的:解决浏览器与服务器的交互问题(例如:验证密码)
现在:特效、游戏、移动开发。
07、 HTML作用展示信息。
Css是美化页面。
JS实现浏览器和服务器交互,有计算和交互的能力。
08、 可以直接在记事本直接写。
JS点出来的东西未必能用,点不出来的东西或许可用。(对象)
动态语言:在运行时确定类型。
09、 注意事项:
1、 声明变量有大小写之分
2、 弱类型语言声明变量都用var
3、 字符串用单引号或者双引号(JS中的单双引号都表示字符串。推荐用双引号。和DOM结合的时候用单引号)
4、 每行代码结束用分号
10、 注释 单行注释//
多行注释/**/
HTML <!---->
css /**/
11、 JS的代码:在script标签中写,可以写在html页面的任何位置,一般放在body标签里面。提升用户体验(script在页面中可以存在多对。)
12、 Script使用
- 内联,嵌入在html标签中
- 内部引用,在页面中写js代码
- 外部引用,<script src=”..”>
13、 如果在script标签中代码出错了,或影响该对的代码执行,不会影响后面的代码执行。
不要在引入外部的JS中写代码。
内联样式不易于开发。
14、 异步以及同步
同步:一个人有顺序的做多个事(一行一行去显示)
异步:多个人做多件事 async (一面加载就开始下载文件,下载完毕后立刻执行执行与下载一起) defer (全下载完在执行) 他们属性的值就是自己,一般在html中如果属性的值就是自己,值可以省略。
H5中可以省略写type=“javascript”
15、 变量交换(3种)
1、 第三方变量的方式
var num1=10;
var num2=20;
var temp=num1;
num1=num2;
num2=temp;
console.log(num1,num2);
2、使用减法
var num1=10;
var num2=20;
num1=num1+num2;
num2=num1-num2;
num1=num1-num2;
console.log(num1,num2);
3、位运算
var num1=10;
var num2=20;
num1=num1^num2;
num2=num1^num2;
num1=num1^num2;
console.log(num1.num2);
不同为一相同为零
16、 变量名的规范(必须遵守)
有字幕下划线或者$开头,中间包含字母、下划线、$、数字组成。(尽量不要以$开头)
变量名要有意义,最好用单词,如果单词不会用拼音,千万不要用简写。
变量名都是小写的,多个单词组合用驼峰法。
识别变量声明是否正确:变量声明可以一次声明多个。先声明后赋值也是合法的。
变量的初始化:声明变量在赋值。
17、 数据类型:js当中的原始数据类型“Number,String,Boolean,Null,undefined,Object”
Null和undefined只有一个值就是他们本身,
Boollen:true 和false 1或者0 真或者借var sex=1;//男 var sex=0;//女
未定义时或者没有明确的返回值,变量的值为undefined。
显示变量的类型:typeof 变量名 typeof(变量名)
如果想要使用变量,最好先判断这个变量的类型是不是null或undefined
typeof输出的是字符串。
Number类型:如果一个变量的值 8/10/16进制(16进制有字母0xa)020(0开头代表八进制)
不要用小数验证小数。
Js有最大值最小值
String:可以用单双引号。字符串有不可变性。(讲字符串对象的时候配合堆内存空间讲解) string.length字符串长度(空格也算个长度)(\想显示出来可以加一个\变为\\ \t代表对齐,有四个空格的位置。显示不出来。)
18、 转译符
19、 字符串拼接(str1+str2)(一个字符串加一个数字也是拼接、一个数字减一个字符串(里面是数字)为数字)。
20、 Boolean类型
Ture 和 False
console.log(Boolean());
数字非0转boolean为true,0为FALSE
非空字符串转boolean为true,空字符串为false,空格为true
Underfined和null也为false
对象也为true。
流程控制语句用boolean类型
当一个变量没有赋值(undefined)(当一个变量声明了没有初始化)boolean为false
21、 数据类型转换(需要这种值需要转换)
1、 其他类型转数字类型
Number(变量) 只认数字,并去掉前面的0。
parseInt(变量)数字开头可以转换(变为整数)。非数字为NaN true为NaN。
parseFloat(变量)同上,自动把前面的0去掉。
小数转整数不要干,容易丢失数据。
2、 其他类型转字符串类型
为了拼接显示输出
变量.toString();
String(变量);用这个
Null也不可以用第一种方式转换为字符串,但第二种方式可以。
Undefinded无法转换字符串。
3、 其他类型转Boolean类型
22、 算数运算符+-*/%
首先是一个表达式,由算数运算符连接起来的表达式
一元运算符++ -- num++ ++num由一元运算符连接起来的表达式(只有一个操作数就可以运算)
var num=10;
var num2=num1++ +10;(后++,先运算后加1////先++,先加1后运算)
二元运算符:由二元运算符连接起来的表达式
三元运算符: 。。。?。。。 :。。。
什么表达式就是用什么运算符链接起来的表达式
23、 复合运算符
var num=10;
num+=5; num%=3
console.log(num);
24、 比较运算符<><=>= == === != !==
比较运算表达式的结果是布尔类型
25、 逻辑运算符&& || !如果用了逻辑运算符则为布尔类型
逻辑运算表达式(可以掺杂比较运算表达式)的结果是布尔类型
&&属于短路操作,如果前面的表达式为false则直接为false
结果为object
26、 运算符的优先级
27、 流程控制(控制代码执行的顺序)三种基本结构
1、 顺序结构:从上到下,从左到右(从右到左)
2、 分支结构if、if-else 、switch-case、三元表达式
A、If语句(执行过程:先判断表达式的结果是true还是false,如果是true则执行里面的代码,否则执行后面的内容)
B、If-else(if(表达式){
代码1
}else{
代码2
}如果为true则执行代码1,否则为代码2)
C、三元表达式(表达式1?表达式2:表达式3;)
D、if-else if(if-else可以有多个)
28、 注释
单行注释一般在一行上面就可以
多行注释一般是函数、方法、构造函数上使用