1.js初识
1)JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
应用:
PC浏览器/PC软件/手机浏览器/手机app/微信小程序/微信公众号开发/硬件开发/服务器开发/AR/VR/深度学习/机器学习
2)JS掌握的知识:
基础语法
JS面向对象
JS事件
JS处理文档对象-DOM对象
JS处理浏览器对象-BOM对象
JS跟后台进行交互-AJAX
JQuery
2.js使用
1)Script标签
1 <script type="text/javascript"> 2 3 console.log("未成年人禁止进入1") 4 5 console.log(a) 6 7 </script>
2)Script标签将js文件进行引用
<script src="js/index.js" type="text/javascript" charset="utf-8"></script>
3)script执行顺序
Script标签内容的执行,是按顺序执行,但是加载是按照异步进行加载。
同步:一个事情完成之后,才能做下一件事情,有等待就是同步。
异步:一个事情发起之后,下一个事情也可以立即发起,不需要等待前面一个事情完成之后才发起。
Script标签里面如果有代码出错,仅仅只会影响到这个script标签代码的执行。
运行原理:
浏览器首先会解析HTML,解析到script标签时候,会用调用JS引擎执行script标签里的代码,会对代码预编译(一些语法纠正和变量提升处理),然后解释执行。
3.js变量
1)声明变量
Js是弱类型语言,所以声明变量的时候,统一用var进行声明变量。如果没有声明,就会声明一个全局变量。
声明变量方式:
var b;
var a,b,c;
var name = "username"
未赋值的变量,会设置为undefined;
注意:js在预编译的时候,变量的声明会被提升到最上面。赋的值会显示在当前位置
2)变量
全局变量:在最外层声明的变量以及在函数内部未用var声明变量,那么就是全局变量,所有的全局变量都会在window上
局部变量:在函数内部声明的变量就是局部变量
3)Js变量命名规范:
必须用字母或者_或者$作为首字母,字母加_加$加数字构成变量名。
4)js类型:
数值类型:整数/浮点数/infinite/-infinite/nan
字符串类型:”abc”,’123’
对象:{},new object()
布尔值:true和false
Undefined:有声明但是未赋值。
Null:这是赋值了就是空的内容。
4.js运算
1)算数运算
加 +
减 -
乘 *
除 /
求余 %
2)赋值运算
+=
-=
*=
/=
%=
++
--
3)逻辑运算
和运算:&&
或运算:||
非:!
4)比较运算
大于:>
大于等于:>=
小于:<
小于等于:<=
等于:==
备注:js在做比较的时候会进行转换,如果能够通过类型转换成一样的内容,就为真。
全等于:===
备注:不做任何的类型转换,直接比较
不等:!=
备注:这个在比较的时候会做类型转换,转换之后还是不能一样,才是不等
全不等!==
备注:不做任何类型转换
5)条件运算
条件?”为真的时候执行”:”为假的时候执行”
三元运算符
var a = 3;
var b = 4
var c = a>b?"大于":"小于";
console.log(c)
5.js流程控制和循环
1)IF
1 var age = 19 2 3 if(age>18){ 4 5 console.log("欢迎来到我们这个网站") 6 7 }else{ 8 9 console.log("对不起,你还未成年") 10 11 }
2)Switch
1 var userType = "穷鬼VIP" 2 3 4 5 switch(userType){ 6 7 case "vip": 8 9 console.log("随意看全场视频,还没有广告"); 10 11 break; 12 13 case "穷鬼VIP": 14 15 console.log("随意看,但有广告"); 16 17 break; 18 19 case "普通用户": 20 21 console.log("请充值,充值会让你更强大"); 22 23 break; 24 25 default: 26 27 console.log("你是属于非法进入"); 28 29 }
3)For
1 for (var i=0;i<10;i++) { 2 3 console.log(i) 4 5 } 6 7 8 9 var arr = ['习大大向中国国际服务贸易交易会致贺信','句句箴言,品读习大大引用的诗词典故','习大大:培养一茬茬、一代代合格的红军传人'] 10 11 var libiao = document.querySelector('#libiao') 12 13 for(var i=0;i<arr.length;i++){ 14 15 libiao.innerHTML += '<li>'+ arr[i] + "</li>" 16 17 }
4)While
1 //从1+2+3。。。+100 =? 2 3 var n = 1 4 5 var result=0; 6 7 while(n<=100){ 8 9 result += n; 10 11 n++; 12 13 } 14 15 console.log(result) 16 17 18 var n = 1 19 20 var result=0; 21 22 do{ 23 24 25 result += n; 26 27 n++; 28 29 }while(n<=100) 30 31 console.log(result)
注:Continue
跳过当次循环
Break
跳过整个循环块