javaScript:负责网页功能的
ECMAScript(核心) + DOM(页面操作) + BOM(浏览器操作相关的)
编程语言
c :操作系统、嵌入式、驱动开发
c++ :桌面软件、游戏 (英雄联盟)
c# :Windows桌面软件、.NET Web、服务器
java:企业级应用,web开发、服务器后端
python
php
.net
javaScript
变量
作用:如果数据需要临时存储的时候,那么就需要变量
如何使用:
1.声明变量(var)
2.命名 (不能用关键字,不能用中文,不能用特殊符号,见名知意,不能用纯数字,不能用数字打头,可以大写)
3.初始化
注意事项:
1.一个变量只能存一个数据
2.使用变量就相当于使用变量里面的数据
3.变量是可以更改的 变量名=新值(不需要加var,因为已经声明过了)
4.对于未声明的变量直接赋值,那么js会自动在全局作用域内声明
5.变量声明提升:变量声明语句会自动提升到当前作用域最顶部
6.等号左边一定是变量,等号右边一定是数据或者表达式(结果是个数据)
数据类型
原始数据类型
1.Number(数字类型)
2.String(字符串) 字符或者字符与其他数据的组合。
字符串一定要加引号,加引号的数据一定是字符串。
如果引号嵌套的情况,双引号里面可以放单引号,单引号里面不允许放双引号。
变量名不能加引号
3.Boolean(布尔类型) true false
4.undefined(未定义) 用来自动初始化变量的
5.null(空) 用来主动释放对象的
引用数据类型
1.array(数组)
2.object(对象) 函数也是对象
区别
原始数据类型:数据存在变量本地栈
引用数据类型:数据不存在变量本地堆
运算符
表达式:由运算符连接的,最终运算结果是一个值的式子( 表达式跟值是等效的)
1.取余运算符% 5/3余2,所以取余等于2
2.算术运算符:+ - * / % ++ -- 仅适用于number类型的数据
关于++,如果单独使用,放前放后都可以
如果不是单独使用:
后++,先用旧值参与表达式,表达式结束之后再+1
前++,先+1,再参与表达式
3.关系运算符: > < >= <= == === != !==
不允许连着写
4.逻辑运算符:与(&&) 或(|| ) 非 (!)
关于逻辑运算符的返回值
注意事项
1、只要“||”前面为false,无论“||”后面是true还是false,结果都返回“||”后面的值。
2、只要“||”前面为true,无论“||”后面是true还是false,结果都返回“||”前面的值。
3、只要“&&”前面为false,无论“&&”后面是true还是false,结果都返回“&&”前面的值。
4、只要“&&”前面为true,无论“&&”后面是true还是false,结果都返回“&&”后面的值。
需要说明的是“&&”的优先级是高于“||”的
5.赋值运算符:= += -= *= /= %=
6.字符串连接运算符:+ 任何数据与字符串拼接,结果都是字符串
7.三目(元)运算符: 条件?条件成立时候的值:条件不成立时候的值
以下六种情况都算false
false 0 undefined null "" NaN。
typeof():用来检测数据类型(number boolean string)
语句
if else 可以进行多重条件判断,判断同一件事的对立面
if(条件){
条件成立时候执行的代码
}else if{
}else{
}
函数/方法
定义:封装一段执行专门任务的代码段
函数的使用:如果一段代码要反复调用,那么就考虑封装成函数了
//声明函数
var 函数名=function(参数){
代码段
}
//调用函数(函数是不调用不执行的)
函数的调用:函数名()
function check(grades){
if(grades>=90){
alert("优秀");
}else if(grades>=80){
alert('良好');
}else if(grades>=60){
alert("及格");
}else{
alert("腿打断");
}
}
check(20);
参数:
函数内独有的变量(外部不能调用)
接受函数外的数据,在函数内部处理,参数可以让方法更灵活
参数不需要声明
参数不限制数量
不限制数据类型,多个参数之间以逗号隔开就行
参数的分类:
形参:形式上的参数(函数内,声明中的)
实参:实际上的参数(函数外,调用中)
return关键字:
函数是一个纯过程,没有任何结果。
return的本意其实是退出函数的运行,如果return后面有值的话,那么会在退出的同时,返回一个结果(函数不可能返回多个结果)
如果函数的执行你需要一个结果,可以加return关键字
return 你想要的值 函数的结果就是return后面的表达式
function check(){
return 100;
}
var a = check();
console.log(a);//100
作用域
定义:一个变量可用的范围
全局变量:在全局作用域内声明的变量叫全局变量(函数外)
局部变量:在局部作用域内声明的变量叫局部变量(函数内)
全局作用域:函数外,全局不能访问局部的数据
局部作用域:函数内, 局部内既可以访问局部变量,也可以访问全局的数据
局部内要更改某个数据,优先用局部内的,局部内没有会往外层找
函数调用的时候才创建,调用结束之后立即销毁
function fn(){
a=8;
var a;
}
function fn1() {
a = 9;
}
fn();//调用局部变量a=8;
a=100;//全局变量,自动声明
fn1();//自己没声明去全局找,让全局中的a等于9
console.log(a);//输出全局a
var b = 1;
function fn1() {
console.log(b); // ?
}
function fn2() {
var b = 2;
fn1();
}
fn2();//1