javascript

来源:互联网 发布:淘宝刷微博粉丝软件 编辑:程序博客网 时间:2024/06/12 18:34

1、javascript是什么?
 是由网景公司开发的一种用来操作浏览器,操作
 网页(对网页进行动态的交互,实现动态的效果)的
 一种脚本语言。由浏览器来解释执行。
2、javascript的组成部分
 1)ECMAScript
  由ECMA组织制订的一个脚本语言的规范,该规范
  定义了脚本语言的语言基础部分(包括数据类型、
  关键字、标识符、对象、语句、运算符)。
  ie,firefox,safari,chrome,opera都支持该规范。
 2)DOM
  Document Object Model:文档对象模型。
  早期,没能DOM规范,各个浏览器为了解析html,
  开发了属于各自的dom模型(称为dhtml,因为可以
  通过修改dom节点,来实现一些动态效果)。使用
  dhtml开发的页面浏览器兼容性不好,所以,w3c
  才开发了一套dom模型(也就是说,这是一个标准化
  的dom模型)。
  w3c dom各个浏览器支持的情况不一,主要是
  ie支持不够好。
  通过使用dom模型,可以实现对网页的交互操作。
 3)BOM
  Brower Objct Model:浏览器对象模型。
  对浏览器本身进行操作:
  获取浏览器的信息(包括类型、版本、语言支持)
  对窗口进行操作(打开窗口、关闭窗口...)
  显示器分辨率
  浏览器的地址信息
  此外,还包括获取XmlHttpRequest对象。
  BOM并没有规范,但是各个浏览器基本上都支持。
3、ECMAScript(语言基础)
 1)标识符
  以字母、$、_ 开头,后面可以是字母、$、_和
  数字。
 2)语句
  以";"结尾。
 3) 大小写敏感。
 4) 弱类型语言
  变量在使用时,不能直接声明其类型。
 变量的实际类型在运行时才确定,并且,可以
 发生改变。
  比如:
   var i = 100;
   i="abc";
 5)注释
  a,单行注释:
  //
  b,多行注释:
  /*
  
  */
 6)数据类型
  (1)基本类型
   a,number
   数字类型
   b,string
   string类型的值必须用'',或者""括起来。没有
   字符类型(char)。
   string是一种基本类型。
   c,boolean
    值可以是true/false;
    boolean类型
    以下几种情况,结果为true:
     非空的字符串
     非零的数字
     对象
    如果是null或者undefined,结果为false。
   d,null
    null类型只有一个值,"null"。
    如果一个变量的作用是保存一个对象的地址,
    在没有给变量赋值前,可以预先赋值为null。
    var obj = null;
    if(obj!=null){
     obj = ...
    }
   e,undefined
    undefined类型也只有一个值,"undefined"。
    一个变量申明过,但没有赋值,其类型是undefined。
  (2)数据类型的转换
   a, string转换成number
    parseInt(str):
     转换成整数,在转换时,如果字符串末尾包括
     字符,会自动将该字符除掉。比如
     可以
      parseInt("123a");  ok!
      parseInt("a123"); error!
    isNaN(data):
     如果data是非数字,结果为true。
    parseFloat(str):
     转换成小数,结果有误差。
   b,number转换成string
    toString()方法即可。
    比如:
     var n1 = 100;
     n1.toString(); //内部,js会先将number转换成
     //Number包装类,然后调用toString()方法。
  (3)字符串的常用属性和方法
    length属性: 返回字符串的长度
    charAt(index):返回指定位置的字符
    substring(from, to): 返回子字符串,从from开始,但不包括to。
    indexOf(str) :指定字符串在原字符串中第一次
    出现的位置。
    lastIndexOf(str): 指定字符串在原字符串中
    最后一次出现的的位置。
    match(regexp) :
    返回匹配指定正则表达式的字符串,返回的
    结果是一个数组。
     var str2 = 'asd212abc345';
     var reg2 = /[0-9]+/g;
     var arr = str2.match(reg2);
    search(regexp) :
    返回按照正则表达式检索到的字符串位置
     str2.search(reg2)
    toLowerCase()
    /toUpperCase() 返回小写/大写形式
    replace(regexp,'abc'):
     替换符合regexp正则表达式规定的字符串
     str2 = str2.replace(reg2,'888');
    split():将一个字符串分解。
  (4)引用类型(后面讲)
 7) 数组
  数组的长度是可变的,数组中,可以混合存放
 不同类型的数据。
  a,创建数组
  方式一:
   var arr = new Array(); 
   arr[0] = 1;
   arr[3] = 4; 
  方式二(使用字面量的方式):
   var arr = [];
   arr[0] = 1;
   arr[3] = 4; 
   或者
   var arr = [1,3,4];
  b,创建多维数组
   var arr = new Array();
   arr[0] = [1,2,3];
   arr[1] = [11,22];
   arr[2] = [8];
  c,数组的排序
   可以使用sort()方法来排序,默认情况下,采用
   字典顺序。
   可以为sort()方法提供一个函数,来指定排序的规则。
   sort(function(a,b){
    return a - b;
   });
  d,数组的常用属性和方法
   length属性:返回数组的长度
   toString()方法: 返回数组的字符串表示
   concat()方法: 用于连接两个数组,会生成
   一个新的数组。
   join()方法,用于将数组中的各个元素
   连接成字符串。
   reverse()方法,将数组反转,不会生成新的数组。
   slice()用于截取数组的一部分并以
   数组的形式返回。

原创粉丝点击