java基础(十七):JavaScript

1.js和java的区别

         (1).js是基于对象,java是面向对象

         (2).js只需要解释就能执行,java必须要先编译成字节码再执行

         (3).js是弱类型,java是强类型

2.js与HTML整合

         (1).<script type="text/javascript">XXX</script>

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

3.变量

         (1).所有的变量类型都是var

                  直接var一个变量输出为undefined

         (2).在<script/>内定义的变量是全局变量,在方法内定义的是局部变量。

                  ^1:

                           var m = 4;

                           function demo(){ m = 9 ;}

                           demo();

                           alert(m);==>9

                  ^2:

                           var m = 4;

                           function demo(m){ m = 9 ;}

                           demo(m);

                           alert(m);==>4

4.运算符

         (1).var m = 3121/1000*1000;    m = 3121而不是3000

         (2).var m = 3.4+2.6;    m = 6,而不是6.0 

         (3).var m = "12" + 1;    m = 13。        var m = "12" - 1;    m = 11;

         (4).alert(true+2);==>3        alert(false+2);==>2

         (5).typeof(3.14)==>number    typeof("aaa")==>String    typeof(true)==>boolean

5.语句

       (1).js中,"="既表示判断又表示赋值。所以判断时,数值放左边变量放右边。赋值时就按正常习惯来。

                  当然,"=="也是支持的

       (2).for(var a = 1,a<10;a++){}    注意是:var

       (3).function showData(x,y){}    参数不需要传类型

       (4).js自带一个arguments数组存放参数。

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

       (5).js中函数其实是一个Function对象,函数名就是该对象的引用。

                  var show = showData;     //将showData函数原样输出

                  var show = showData();    //将showData函数运算结果输出

       (6).动态函数

                  var func = new Function("x,y","var sum = x+y; return sum;");

                  var sum = func(5,8);

                  alert(sum);==>13

       (7).匿名函数

                  var method = function(){ alert('aaa')};

                  method();

6.数组

       (1).特点:长度可变,可存放任意类型元素

       (2).常用方法:

              concat():连接多个数组

              join():将数组所有元素放入一个字符串,指定分隔符

              pop():删除最后一个元素

              push():在最后面增加元素

              shift():删除第一个元素

              unshift():在第一个增加元素

              slice():查找到指定元素

              splice():替换指定元素

              toString():转化成字符串

              toLacaleString():转化成本地字符串

              sort():排序

              reverse():倒序

7.原型:prototype(自定义新方法)

              原型示例1:取数组最大值

                     Array.prototype.getMax = function(){

                            var max = 0;

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

                                   if(this[i]>this[max]){

                                          max = i;

                                   }

                            }

                            return this[max];

                     }

                     var arr = [10,30,20];

                     var max = arr.getMax();

                     document.write(max);

              原型示例2:去除字符两端空格

                     Array.prototype.trim = function(){

                            var start = 0;

                            var end = this.length - 1;

                            while(start<end && this.charAt(start)==" "){start++;}

                            while(start<end && this.charAt(end)==" "){end--;}

                            return this.substring(start,end+1); 

                     }

                     var str = "   ab v    ";

                     alert(str.trim());

8.js实现面向对象

       function Person(name,age){

              this.name = name;

              this.age = age;

              this.setName = function(){this.name = name;};

              this.setAge = function(){this.age = age};

       }

       Person.prototype.toString = function(){

              return "Person[name="+this.name+",age="+this.age+"]";

       }

       var p = new Person("lisi",20);

       p.setName("zhangsan");

       alert(p.toString());

9.js特有的方法

       (1).for(变量 in 对象){alert(变量);}

       (2).对象调用成员的两种方式:

              p.name

              p["name"]

       (3).with(对象名){成员}==>with(p){setName("wangwu");}

猜你喜欢

转载自blog.csdn.net/qq_40594696/article/details/85783686