JavaScript基本知识点

来源:互联网 发布:btspread新域名 编辑:程序博客网 时间:2024/06/03 21:06

JavaScript

1. JavaScript: 是基于对象和事件驱动的脚本语言,主要应用在客户端.

 |--基于对象:JavaScript中提供了很多的对象,我们可以直接使用这些对象。

 |--事件驱动:html是静态网页,JavaScript可以实现动态效果

 |--客户端:主要指的是浏览器(Browser

2.JavaScript的特点:

         |-- 交互性(信息的动态交互)

 |-- 安全性(不可以直接访问本地硬盘)

 |-- 跨平台性

     *** js 只要是由浏览器都支持js代码,通过浏览器就可以直接执行。

             *** java 是要通过JVM编译成字节码文件,在执行。

3. JavaScriptJava的不同

         |-- js是网景公司开发的,JavaSun公司开发的。

 |-- JavaScript是基于对象的,Java是面向对象

 |-- JavaScript只需解析就可以执行,而Java需要先编译成字节码文件,再执行。

 |-- JavaScript 是一种弱类型语言,Java是强类型语言。

     java例子:int i = 0;    String str = "123";  boolean flag = true;

             js例子:var i = 2;  var str = "123";    var flag = true;

4.JavaScript的组成

         |-- ECMAScript ECMA是一个欧洲的组织协会。主要是制定一些规范。比如语法。

 |-- BOM: (Browser Object Model) 浏览器对象模型

 |-- DOM(Document Object Model)文档对象模型

 

5.JavaScripthtml的结合方式(两种)

         |-- HTML <script>标签,把 JavaScript插入 HTML页面当中

  <body>

    <script type="text/javascript">

      alert(123);

    </script>

  </body>

 |-- 通过 HTML<script>标签,导入外部js文件

    ***必须要先有这个js文件

    <body>

             <script type="text/javascript" src="1.js">

                //alert("AAAAAA"); --导入文件的方式,就不能在标签中写js代码,写了也不会执行。

             </script>

            </body>

    

6. JavaScript的语法种类

    |--(1)关键字:被赋予了特殊含义的单词 (凡是在标签中写的js代码,变颜色的就是关键字)

 

    |--(2)标示符:用于标识数据和表达式的符号。(变量var **、函数名 function **)

 

    |--(3)JavaScript的注释:

          ***java注释://单行注释、/* */ 多行注释、/** */文档注释

  ***js注释://单行注释、/* */ 多行注释

 

    |--(4)数据类型

          ***java基本数据类型:byte short int long float double char boolean

  ***js原始数据类型(5)

   numberstringbooleanundefinednull

   undefined: 变量定义了未初始化/访问对象不存在属性.

   null:访问的对象不存在

 

  -- 通过typeof运算符,查看变量类型

      typeof(变量名);

 

    |--(5)变量:标识内存中一片空间,用于存储数据,数据是可以变化的。

          例子:var x=4var y = "4"、  var z = true

      js是统一通过var关键字来定义变量的,变量类型是通过值来确定的。

 

    |--(6)语句

          *** java语句:if...else; switch; (forwhiledo-while)

  *** js 语句:if...else; switch; (forwhiledo-while)

     注意:jsswitch语句数据类型都是支持的

 

    |--(7)运算符

          *** java中做运算(小数和整数都是数字类型,所以除法中没有整数,会出现小数)

      int a = 234;

      System.out.println(a/1000*1000); //结果是0

          *** js中做运算

      var a = 234;

              alert(a/1000*1000);   //234

  *** 字符串类型在"+"运算时,是和java一样的;表示连接;在做"-"运算时,结果是相减的值

  *** js中的boolean类型是可以做加、减运算的。true的值在做加减运算时值是1false的值是0

  *** "==" js中表示的值相同;"==="js中表示的值和类型都要相同

    |--(8)数组

          ***第一种定义数组方式

    例子:var arr = [1,4,6]; var arr1 = [1,"we",true];

    js中即可以定义相同数据类型元素的数组,也可以定义不同数据类型元素的数组。

  ***第二种定义数组方式

   例子:

       var arr2 = new Array(3);

       arr2[0] = "qw";

       arr2[2] = true;

       alert(arr2);

     通过Array对象来定义数组,动态赋值

  ***第三种定义数组方式

   例子:

       var arr3 = new Array(2,"abc",false);

               alert(arr3);

     通过Array对象来定义数组,直接赋值

数组有属性length来获取数组的长度.

 

 

|--(9)函数

         ***第一种定义函数方式

   格式:function 函数名(a,b...){

 

   函数体;

   return 返回值;

 

 }

   调用函数:

 函数名(a,b...);

 alert(函数名(a,b...));有返回值的

 

 注意:函数中的参数不能加var. 想有返回值,直接return XXX

 

 ***第二种定义函数方式(匿名函数)

            格式:var XXX = function(a,b...){

          

   函数体;

   return 返回值;

           

          }

    例子:var add4 = function(a,b){

   var sum = a+b;

   alert(sum);

 

                  }

            调用函数:

               add4(4,5);

 

 ***第三种定义函数方式(动态函数:通过内置对象Function定义)

    格式:var XXX = Function(参数列表,函数体);

    例子:var canshu = "a,b";

                  var hanshuti = "var sum = a*b; alert(sum)";

 

                  var add5 = Function(canshu,hanshuti);

                  add5(4,5);

    调用函数:

               add5(4,5);

|--注意:js中不存在重载,如果调用相同函数名但参数不同的函数时,执行的是最后一个函数

       调用时传递的参数如果大于等于最后一个函数定义的参数个数时。会执行出结果

       调用时传递的参数如果小于最后一个函数定义的参数个数时。会报NaN(表示不是一个数字)

 

     例子:   function add11(a,b){

                     alert(a+b);

 

                   }

                   function add11(a,b,c){

                     alert(a+b+c);

                   }

                   function add11(a,b,c,d){

                     alert(a+b+c+d);

                   }

   调用:

           add11(2,3); //NaN

                   add11(2,3,4); //NaN

                   add11(2,3,4,5); //14

 

    如何自定义实现类似于java中的重载,通过arguments数组来实现。因为调用函数传递的参数都保存在arguments数组里面。

    例子:

         var sum = 0;

         function add1(){

    

           for(var i = 0; i<arguments.length ; i++){

          sum+=arguments[i];

       }

       alert(sum);

         }

 

     |--(10)全局变量与局部变量

       *** 全局变量:作用于整个<script>标签.在网页被关闭后,变量才会失效。

       例子:<script type="text/javascript">

   var a = 10; //全局变量

   alert("函数外:"+a);

   

   function getA(){

    alert("函数内:"+a);

   

   }

   getA();

 

    </script>

 

    <script type="text/javascript">

  alert("另一个script标签:"+a)

    </script>

*** 局部变量:作用于函数体。即在函数体中有效

例子:<script type="text/javascript">

   var a = 10; //全局变量

   //alert("函数外:"+b); --解析时报错undefind

   

   function getA(){

    var b = "CC";

    alert("函数内:"+b);

   }

   getA();

 

</script>

 

    <script type="text/javascript">

  alert("另一个script标签:"+b); ----解析时报错undefind

    </script>

 

 |--(11)<script>标签存放的位置

          标准的位置是放在</body>结束标签的外面(下面)

  例子:

  <head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>无标题文档</title>

        <script type="text/javascript">

 

 var text1 = document.getElementById("id1");

 alert(text1.value);

 

</script>  

** 注意:放在<head>中,会出现取不到html中标签值。因为html在解析时,是从上往下解析的。

         这时输入的文本框标签还未加载,因此取不到值,会报NULL错误.

  </head>

 

  <body>

    <input type="text" name="name1" id="id1" value="aaa" />

 

  </body>

   <script type="text/javascript">

 

 var text1 = document.getElementById("id1");

 alert(text1.value);

 

  </script>  

  ** 放在此处,可以取到值

 </html>

0 0
原创粉丝点击