JavaScript(JS)基础学习笔记

1.Javascript简介

  • Javascript是基于对象和事件驱动的语言,应用于客户端。

               -基于对象:
    
                                  **提供了很多对象,可以直接拿过来使用
    
                -事件驱动(比如鼠标滑动):
    
                                  **html做网站是静态的效果,js做的网站是动态的效果
    
                -客户端:专门指的是浏览器
    
  • js的特点

             (1)交互性
    
                               -信息的动态交互。
    
             (2)安全性
    
                               -js不能访问本地磁盘的文件
    
             (3)跨平台性
    
                               -java里面跨平台性虚拟机
    
                               -只有能够支持js的浏览器可以运行。
    
      * js与java的区别(两者没有任何关系)
              (1)java是sun公司,现在oracle。js是网景公司
              (2)js是基于对象的,java是面向对象的。
              (3)java是强类型的语言,js是弱类型语言。
                  -比如java里面int i = "10";(不允许)
                  -js:var i = 10;var m = "10";
              (4)js只需解析就可以执行,而java需要先编译成字节码才能执行。
      *javascript的组成
          三部分组成
          (1)ECMScript
              -ECMA:欧洲计算机协会
              -有ECMA组织指定的js的语法,语句...
          (2)BOM
              -broswer object model:浏览器对象模型。
          (3)DOM
              -doucument object model:文档对象模型。
    

2.js和html的结合方式(两种)

    第一种:
        -使用一个标签<script type="text/javascript"> js代码;</script>
    第二种:
        -使用script标签,引入一个外面的js文件
            ***创建一个js文件
                注释方法与java相同。
                <script type="text/javascript" sec="js文件路径"></script>
    注意:使用第二种方法的时候,就不要在<script>标签里写js代码了。

3.js的原始类型和声明变量

    **java的基本数据类型:byte,short,int,long,float,double,char,boolean。
    **js的原始类型(五个)
        定义变量var
        -string(字符串)
        //定义一个字符串
            var str = "avb";
        -number(数字类型)
        //定义一个数字类型
            var num = 123;
        -boolean(ture、false)
        //定义一个布尔类型
            var flag = true;
        -null
            ***var date = new Date()当前时间
            获取对象的引用,null表示对象引用为空,所有对象的引用是Object
        -undefined
            ***定义一个变量,没有赋值。
            ***var aa;
    typeof()运算符:查看当前对象的类型

4.js的语句

    **java里面的语句:
        **if语句
        =表示赋值
        ==表示判断
        **switch语句
        *循环语句
    **js里面的语句
        if语句:与java用法相同。
        switch语句
            -java里面支持的的数据类型,string
            -js里面都支持
            -语法与java相同
    循环语句 for while do-while
        //while循环
        var i = 5;
        while(i>1){
            alert(i);
            i--;
        }
        //for循环
        for(var i=0;i<=5;i++)
        {
            alert(i);
        }
    **++i与i++
    用法与java相同

5.js的运算符


JavaScript(JS)基础学习笔记

JavaScript(JS)基础学习笔记

    与Java不同的:
        **js里面不区分整数和小数
            var j = 123;
            j/1000*1000;
            java中为0
            js里面不区分整数和小数,0.123*1000=123
        字符串的相加和相减问题的操作
            var str= "123";
            alert(str+1);在js中还是1231
            alert(str-1);在相减时是真正的进行相减。
            注意:如果不是一个数字会提示NaN
        boolean类型也可以进行相加相减的效果:
        var flag=true;
        flag+1;  //flag=2
        var flag=false;
        flag+1;  //flag=1
        == 与 ===区别:
            **做判断
            var aa=5;
            if(aa == 5){
                alert("5")
            }else{
                alert("other");
            }
            //
            if(aa === 5){
                alert("5")
            }else{
                alert("other");
            }
            区别:==比较的是值 === 比较的是值和类型。
        引入知识
            直接向页面输出的语句(可以把内容显示在页面上)
            *document.write(可以写html代码、变量)

6.案例9*9乘法表


源代码:

<!DOCTYPE html>
<html>
<head>
    <title>9*9乘法表练习</title>
</head>
<body>
    <script type="text/javascript">
        //循环行
        document.write("<table border='1' bodercolor='blue'>");
        for (var i = 1; i <= 9; i++) {
            document.write("<tr>")
            //循环列
            for(var j = 1;j<=i;j++){
                document.write("<td>");
                document.write(j+"*"+i+"="+j*i);
                document.write("</td>");
            }
            //document.write("<br/>");
            document.write("/<tr>");
        }
        document.write("</table>");
    </script>
</body>
</html>

7.js的数组


    *什么是数组?
        -使用变量 :var m = 10;
    js数组定义方式(三种)
        (1):var arr = {1,"256",true};
        (2)使用内置的对象Array对象:
            var arr1 = new Array(5)//定义一个数组,数组的长度为5 arr1[0]="1";
        (3):使用内置对象Array
            var arr2 = new Array(3,4,5)//定义一个数组,数组里面的元素是3、4、5
        数组里面的一个属性:length:数组的长度。
        数组的长度是可变的
        数组可以存放不同的额元素

8.js的函数


    **在java里面定义方法
            public 返回类型void/int 方法名(参数列表){

            }
    **在js里面定义函数/方法(三种)
        (1):
            *使用一个关键字function
            *function 方法名(参数列表){

            }
            //调用function();
        (2)匿名函数:
            var add= function(参数列表)
            {

            }
            比如var add = function(a,b){alert(m+n);}
            add(5,6);
        (3)动态函数:用的较少
            ***使用到js里面的内置对象Function
            var add = new Function("x,y","var sum=x+y;return sum;");
            //调用
            add(2,5);

9.js的全局变量和局部变量

    **全局变量:在script标签里面定义一个变量,这个变量在页面中js部分都可以使用。
        -在方法外部使用,在另一个script标签使用。
    **局部变量:在方法内部定义一个变量,只能在方法内部使用。
    *IE浏览器自带了一个调试工具,IE8及其以上的版本中,键盘上F12,就会出现调试工具页面。

10.script标签放置位置


    *建议把script标签放在</body>后面。
    *如果有这么一个需求:
        在js里面如果需要获得input里面的值,如果把script标签放在head里面,直接在里面取input里面的值,因为页面还没有解析到input那一行,肯定取不到。