23@JavaScript_day03

 

1、javascript是什么?
  javascript是一种在客户端(浏览器)执行的脚本语言(必须嵌入到html文件当中才能运行)。其作用包括:
    1)客户端验证
    2)动态效果(比如菜单)
    3)访问浏览器(比如获得浏览器的版本)
    4)是ajax核心技术之一


2、javascript的组成部分
  1)ECMAScript: 由ECMA组织制订的一个规范,主要定义了javascript的语言基础部分,各个浏览器(包括ie,firfox,chrome,safari,opera)都支持得很好。
  2)dom:包括两部分,一部分是w3c组织制订的规范,另外一部分是各个浏览器自己支持的dom规范。目前,w3c dom规范各个浏览器支持的程度不一。
  3)bom: 浏览器对象模型,浏览器内置的一些特殊对象,主要包括window,navigator,location,screen,xmlhttprequest对象,通过这些对象,可以访问浏览器窗口等。这部分没有规范,但是大部分浏览器都会提供这些对象的支持。


3、javascript语言基础
  1)标识符
    a_$开头,后面可以接a_$数字。
    比如:
      $a  ok
      _abc  ok    
      3a  error!
  2)语句
    以";"结尾。虽然不以";“结尾也可以,但建议最好加上。

View Code
1 if(1>0){
2   alert('hello');
3 }

 

      好与:

View Code
1 if(1>0)
2     alert('hello');

 

  3)关健字与保留字
  4)变量
    javascript是一种弱类型语言,不需要编译,直接执行。变量的类型在运行阶段确定,并且可以改变。
      var i = 0;  ok
      i = 'hello';
      number i = 0;  error!
  5)数据类型
    a, 简单类型
      number:数字类型 (不像java,有int,double...)
      string:字符串类型(不像java,不是一个对象)
      boolean:布尔类型
      null:空类型
      undefined:未定义类型
    b, 复杂类型
      内置的复杂类型
      b1,3个基本类型对应的包装类型Number,String,Boolean
        String类型的属性和方法:
          length属性 返回字符串的长度
          charAt(index) 返回指定位置的字符
          substring(from, to) 返回子字符串
          indexOf(str) 指定字符串在原字符串中第一次出现的位置
          lastIndexOf(str) 指定字符串在原字符串中最后一次出现的的位置
          match(regexp) 返回匹配指定正则表达式的字符串,返回的结果是一个数组。
          search(regexp) 返回按照正则表达式检索到的字符串位置
          toLowerCase/toUpperCase 返回小写/大写形式
          replace(regexp,'abc'); 替换符合reg正则表达式规定的字符串
      b2, 函数 Function
        函数实质是一个Function对象。
        比如
          function f1(){}
        f1(即函数名)是一个变量,指向了一个Function对象。
        函数可以有返回值,但是不能声明返回类型
        函数内部可以使用arguments[index]    来获得实际参数的值,index下标从0开始。
      b3, 数组 Array
        js数组的长度可变
        js数组的元素的类型可以不同。
        常用属性和方法:
          length属性:返回数组的长度
          toString()方法, 返回数组的字符串表示
          concat()方法, 用于连接两个数组,生成一个新数组。
          join()方法,用于将数组中的各个元素连接成字符串。
          reverse()方法,将数组反转
          slice():用于截取数组的一部分并以数组的形式返回。
          sort()排序,可通过如下形式来重新定义排序方式:                       

View Code
1 var arr4 = arr3.sort(function(a1,a2){
2     return -a1.length + a2.length;
3 });  

 

 

      b4, RegExp
        test方法:用来测试字符串是否匹配正则表达式的要求,如果符合,返回true,否则,返回false。
        比如:

View Code
1 var str = '132234asdf';
2 var reg = /^\d{6}$/;
3 var rs = reg.test(str);

 

      内置的对象(Math)
        用于数学计算
        random(): 返回一个0<= 随机数 < 1
        ceil(): 向上取整
        floor():向下取整
    


  双色球:
    红球:
      从1~33中取6个数,不能重复,按从小到大输出。
    蓝球:
      从1~16中取1个数。
    比如输出:
      12,13,22,19,21,33,9


  自定义类型
    使用函数的语法来定义一个类
    比如:

View Code
 1 function Person(name,age){
 2     //加this修饰的变量称为属性
 3     this.name = name;
 4     this.age = age;
 5     //如果属性值是一个函数,就是一个方法。
 6     this.info = function(){
 7         alert(this.name + ' ' + this.age);
 8     };
 9     this.play = function(game){
10         alert(this.name  + 'is playing ' + game);
11     }
12 }

 

 

    使用Person类来创建一个实例:

View Code
1 var p = new Person('sdd',22);
2 //访问属性
3 alert(p.name);
4 //访问方法
5 p.play('football');

 

 

    如果要创建一个javascript对象,除了可以通过以上方式(先定义一个类型,然后利用这个类型创建实例),还可以通过以下两种方式来创建。
      方式一: 利用Object类型

View Code
1 var p = new Object();
2 //javascript是一种动态语言:即对象在运行时可以随时增加新的属性和方法。
3 p.name = '小龙女';
4 p.age = 22;
5 p.play = function(game){
6     alert(this.name + ' is playing ' + game);
7 };

 

 

      方式二: 使用json语法
        {属性名:属性值,属性名2:属性值2...}
        注意:
          a,属性名可以用''引起来。
          b,属性值可以是string,number,null,boolean,Object。
          c,属性值如果是string,必须使用''引起来。

View Code
1 var p = {'name':'zs','age':23,'play':function(){
2     alert('playing...');
3 }};

 

posted @ 2012-05-22 01:54  笑仁术Rex  阅读(206)  评论(0编辑  收藏  举报