JavaScript(一)

89 阅读4分钟

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