初识JavaScript
1.js使用
Script标签
<script type="text/javascript"> console.log("未成年人禁止进入1") console.log(a) </script> |
Script标签将js文件进行引用
<script src="js/index.js" type="text/javascript" charset="utf-8"></script> |
Script标签内容的执行,是按顺序执行,但是加载是按照异步进行加载。
同步:一个事情完成之后,才能做下一件事情,有等待就是同步。
异步:一个事情发起之后,下一个事情也可以立即发起,不需要等待前面一个事情完成之后才发起。
Script标签里面如果有代码出错,仅仅只会影响到这个script标签代码的执行。
运行原理:
浏览器首先会解析HTML,解析到script标签时候,会用调用JS引擎执行script标签里的代码,会对代码预编译(一些语法纠正和变量提升处理),然后解释执行。
2. 申明变量
Js是若类型语言,所以申明变量的时候,统一用var进行申明变量。如果没有申明,就会申明一个全局变量。
申明变量方式:
var b; var a,b,c; var name = "username" |
为赋值的变量,会设置为undefined;
注意:js在预编译的时候,变量的声明会被提升到最上面。
全局变量:在最外层申明的变量以及在函数内部未用var申明变量,那么就是全局变量,所有的全局变量都会在window上
局部变量:在函数内部申明的变量就是局部变量
Js变量命名规范:
必须用字母或者_或者$作为首字母,字母加_加$加数字构成变量名。
js类型:
数值类型:整数/浮点数/infinite/-infinite/nan
字符串类型:”abc”,’123’
对象:{},new object()
布尔值:true和false
Undefined:有申明但是未赋值。
Null:这是赋值了就是空的内容。
3.运算符
比较运算
大于:>
大于等于:>=
小于:<
小于等于:<=
等于:==
备注:js在做比较的时候会进行转换,如果能够通过类型转换成一样的内容,就为真。
全等于:===
备注:不做任何的类型转换,直接比较
不等:!=
备注:这个在比较的时候会做类型转换,转换之后还是不能一样,才是不等
全不等!==
备注:不做任何类型转换
swicth
var userType = "穷鬼VIP"
switch(userType){ case "vip": console.log("随意看全场视频,还没有广告"); break; case "穷鬼VIP": console.log("随意看,但有广告"); break; case "普通用户": console.log("请充值,充值会让你更强大"); break; default: console.log("你是属于非法进入"); } |
For
for (var i=0;i<10;i++) { console.log(i) }
var arr = ['向中国国际服务贸易交易会致贺信','句句箴言,品读引用的诗词典故','培养一茬茬、一代代合格的红军传人'] var libiao = document.querySelector('#libiao') for(var i=0;i<arr.length;i++){ libiao.innerHTML += '<li>'+ arr[i] + "</li>" } |
while
Continue:跳过当次循环
Break:跳过整个循环块
//从1+2+3。。。+100 =? var n = 1 var result=0; while(n<=100){ result += n; n++; } console.log(result)
var n = 1 var result=0; do{
result += n; n++; }while(n<=100) console.log(result) |
函数定义的方式
方式1:function count(a){ return x }
方式2:var count = function(){}
函数的参数
对函数调用时候,不会对参数做任何的检测。
arguments关键词:获取调用函数时候的所有参数
函数的返回值
用return直接返回对象
注意:如果没有写返回值,那么函数默认会返回undefined
数组
JavaScript的数组是可变长,里面的内容也是可以随意的替换,没有类型的限制
创建数组的方式
数组实现队列的2个方法:
Push:在数组最后添加元素
Shift:在数组的最前面删除元素
数组实现栈的2个方法:
Push:在数组最后添加元素