---恢复内容开始---

JavaScript 

JavaScript:是一门编译型的语言,比python语言还要弱类型的语言

JavaScript 分为三个部分:Ecmascript、dom、bom

Ecmascript: 核心部分

dom: 控制整个网页,也就是文档

bom: 浏览器的文档模型

浏览器只能够解释: html、 css 、javascript

JavaScript的引用方法

直接将代码写入script标签里

使用script标签下的src属性直接引入写好的js文件。

JavaScript语言的使用

在js中//是单行注释

/*  */是多行注释

alert:打印,在执行代码时,就会打印到弹出窗口上面。

var: 声明一个变量,在定义变量前,必须使用var声明这些变量开辟出相应的内存空间进行赋值,可以同时声明多个变量,用逗号分开。

在js中默认换行符是一条语句的结束,还可以使用 ‘;’分一条语句的结束符

在js中声明变量没有赋值默认是undefined.

命名规范:见名知意,建议前面加上一个数据类型的首字母 其它的和python定义变量是一样的

          

什么是常量: 定义不变的量

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
   /* function sayHello(){
        var hellostr='你好';
        document.write(hellostr);
    }
    sayHello();*/
    var a=10,b= 3,c;
    console.log(a,b,c)
</script>
</body>
</html>

 

js的数据类型

基本数据类型

number:数据类型

string:字符串类型

boolean:布尔类型

undefined:只声明并没有赋值的变量,只有一个值:undefined

引用数据类型

object:栈的数据类型。也包含了一些特殊的数据类型,非基础数据类型都属于object数据类型

            

console.log: 打印,将代码在控制台上面打印出来 

typeof: 查看数据类型

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    var a=10;
    console.log(a,typeof a)
    var e=[11,22,33,44],f=(99,88,77,66)
    console.log(e,typeof e)
    console.log(f,typeof f )
</script>
</body>
</html>

 

js中运算符

计算运算符: + - * / % ++ --

++:自加1,只能够加1 使用方法是:变量++ 和++变量,它们的区别在于变量++是先赋值后计算;而++变量是先计算后赋值

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    var a=10;
    ret=a++;
    console.log(ret,a);
    var b=10;
    ret=++b;
    console.log(ret,b);
</script>
</body>
</html>

 

比较运算符

>  >=  <  <=  !=  ==  ===  !==

==和!=: 比较时数据类型不同的话,js会自动给数据类型转换

=== 和!== :全等于和不全等于。 比较时,js内部不做任何转换

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    console.log(5==='5');
    console.log(5!=='5');
    console.log(5=='5');
    console.log(5!='5');
</script>
</body>
</html>

逻辑运算符: && 与|| 或!非

赋值运算符:=  +=  -=  *=  /=

字符串运算符:+ 连接,两边操作数有一个或两个是字符串就做连接运算,如果没有值就当正号使用  

流程控制

if和else判断:

if 单分支格式:

  if(条件语句){

   执行语句

  }  

 

if 双分支格式:

 

  if(条件语句){

 

   执行语句

 

  }  

 

 else{

  执行语句

  }

 

if 多分支格式:

 

 

 

  if(条件语句){

 

   执行语句

 

  }  

 

 else if{

 

  执行语句

 

  }

  ……

  else{

  执行语句

      }

 

  

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    if (2=='2'){
        console.log('ok')
    }
    if (2==='2'){
        console.log('对')
    }
    else{
        console.log('错')
    }
    var a=20;
    if(a>20){
        console.log('大')
    }
    else if(a<20){
        console.log('小')
    }
    else{
        console.log('对')
    }
</script>
</body>
</html>

 

for循环语句:

遍历循环格式:

for(条件语句){

执行语句  

}

条件语句的格式:(var变量=值;判断条件;自加1)

条件循环格式:

for(avr i in 变量){

  执行语句

}

length: 计算长度

while循环语句:

  while(条件语句){

  执行语句

}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    a=0
    b=0
    while (a<10){
        b+=a;
        a++
    }
    console.log(b)
</script>
</body>
</html>

 

switch case语句

switch(表达式){

  case条件语句;执行语句break;

  case 条件语句;执行语句break;……

}  

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    var a=2;
    switch(a){
        case 1:alert('星期一');break;
        case 2:alert('星期二');break;
        case 3:alert('星期三');break;
        case 4:alert('星期四');break;
        case 5:alert('星期五');break;
    }
</script>
</body>
</html>

default:如果输入的值与case后面的值对不上的话,就会执行下面的语句

 

函数

函数的定义各调用格式

function 函数名(形参){

  函数体

}

  函数名(实参)

可以在当前文件里的script标签里的任意地方调用这个函数

如果实参少于形参时默认返回NaN,NaN是一个数据,如果数字没有转换字符串成功的话就会出现

argument对象,将传入函数的参数值打包起来。

函数如果没有返回值的话默认返回undefined

匿名函数:

什么叫做匿名函数:没有名字的函数执行一次就会被回收

匿名函数的定义和调用

(function 函数名(形参){

  函数体  

})(实参)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    function func(x,y,z){
        return x+y+z;
    }
    console.log(func(3,5,11));

    (function(x,y){
        console.log(x+y)
    })(1,4)
</script>
</body>
</html>  

js的执行顺序是将所有的代码先编译一遍,然后在执行

 

posted on 2017-11-12 21:48  远去  阅读(176)  评论(0编辑  收藏  举报