1.Javascript概述
简称:js,是运行在【js解释器】的【解释型】【弱类型】【面向对象】脚本语言
1.1 js解释器:不需要安装浏览器自带
1.2 解释型:运行之前不需要检查代码是否正确,直接可以运行,碰到错误自动停止(编译型:运行之前要检查代码是否正确,如果不正确则不能运行)
1.3 js使用方式:1-在html页面中写上一个script标签,再把js代码放在该标签汇中
<script type="text/javascript">
</script>
2-在外部创建一个js文件并引入到html文件中(建议:js都写在html最后)
<script src="js路径" type="text/javascript" charset="utf-8">
不能再次编写代码了,必须将js代码放到js文件中
</script>
1.4 js代码的输入方式:
1.在F12的控制台输出日志:console.log(数字/"字符串"/变量);
2.在页面上输出,支持标签:document.write(数字/"字符串"/变量);
3.在弹出框输出:alert(数字/"字符串"/变量)
2. 变量
概述:变量就是一个内存,语法:var 变量名=值;(变量名规定:不能以数字开头,不能用关键字)
1.想要创建一个变量只需要:var 变量名;其实就已经创建好了 - 不赋值也没关系,至少创建了不会报错了
2.如果创建了多个变量,可以省略掉中间var,分号都要换为逗号简写,最后一个分号不变
3. 常量
概述:一旦创建就不能修改,语法:const 常量名=值;
4. 算数运算符(+ - * / %)
m%n 取余,俗称模 作用:
1、*判断奇偶性
num%2 == 1 奇数
num%2 == 0 偶数
2、获取一个数字的后n位
1234%10 -> 4
1234%100 -> 34
1234%1000 -> 234
注意:算数运算符具有隐式转换,默认都会转为数字运算(特殊:+运算如果碰到一遍是字符串,则两边均会转为字符串进行拼接操作,* - /只有碰到纯数字字符串才会进行算数运算,否则均为NaN)
5. 数据类型的转换
对于不同数据类型的运算时,数据类型会自动进行转换
number+number=number
number+string=string
5.1 隐式转换
程序自动执行,程序员无法观察的转换
特殊:1、+运算,碰上一个字符串,两边都会悄悄的转为字符串,变为拼接操作
2、- * / % 要是纯数字的字符串也可以转为数字,但是包含了非数字字符则为NaN
3、xx转为数字的话,会转为什么结果
true->1
false->0
undefined->NaN
null->0
"100"->100
"100px"->NaN
5.2 强制转换
转数字:
1、*语法:parseInt(str/num)
执行原理:从左向右依次读取每个字符,碰到非数字字符则停止,并且不认识小数点,如果一来就不认识则为NaN
console.log(parseInt(35.45));
console.log(parseInt("35.45"));
console.log(parseInt("3hello5"));
console.log(parseInt("35px"));
console.log(parseInt("hello35"));
console.log(parseInt(true));
2、*语法:parseFloat(str);
执行原理:几乎和parseInt一直,但是认识第一个小数点
console.log(parseFloat("35.45"));
console.log(parseFloat("35.45.45"));
console.log(parseFloat("35.4abc5.45"));
console.log(parseFloat("35.45px"));
以上两个API作用:强制转为数字的同时并且去掉单位
6. 函数
6.1 什么是函数
函数(Function)是一段被【预定义好的】,可以【反复使用】的代码
是个独立的功能体,可以将【若干】的代码放在里面
6.2 语法
1、创建函数/方法
function 函数名(){
}
2、调用函数/方法
函数名();
小技巧:绑定在页面元素之上,用户来触发了
<elem onclick="js语法"></elem>
6.3 带参数的函数
创建带参数的函数:
function 函数名(形参,...){
函数体;
}
调用带参数的函数的时候:
函数名(实参);
强调:
1、传入实参的顺序一定要和形参的顺序对应上
2、函数不一定非要有参数
7. 分支
程序的三种结构:
1、顺序结构:默认结构,从上向下依次执行每一句代码
2、分支结构:根据判断条件,选择一部分代码去执行(只会走一条路)
3、循环结构:根据判断条件,选择是否重复执行某一段代码
7.1 比较关系运算符(> < >= <= == !=)
注意:以上六个运算符结果都为布尔值:true、false
比较运算符出现在分支、循环的判断条件之中
关系运算符也具有隐式转换
7.2 if结构
1、一个条件一件事,满足就做,不满足就不做
if(判断条件){
操作
}
2、一个条件两件事,满足就做第一件,不满足就做第二件
if(判断条件){
操作1
}else{
默认操作
}
3、多个条件多件事,满足谁就做谁
if(条件1){
操作1
}else if(条件2){
操作2
}else if(条件3){
操作3
}else{
默认操作
}
强调:
1、最后的else是可以省略的,但如果条件都不满足,则分支白写
2、条件有时候写的顺序需要注意,因为分支只会走一条路