javascript编程

  • JavaScript语法
  1. JavaScript中单引号双引号皆可
  2. 大小写敏感
  • 面向对象
  1. JavaScript中没有类的语法(是用函数闭包(closure)模拟出来的)     
function Person(name,age){
  this.Name=name;
  this.Age=age;
  this.SayHello=hunction(){
    alert(“你好,我是”+this.Name+”,我”+this.Age+”岁了”);
  }
}
var p1 = new Person(“tom”,20);
p1.SayHello();
p1.Gender=“男”;
Alert(p1.Gender);
  //new一个对象后 动态增加属性
  //必须声明类名
  //this.name…属性动态添加
  //function Person(name,age){ … }可看做对象构造函数
  • 事件
  1. JavaScript中也有事件的概念
<input type=“button” onclick=“alert(99)” value=“久久” /> //按钮被点击时执行JavaScript代码
  1. <a href=“javascript: alert(88)”>发发</a> //只有超链接中的JavaScript才需要前面加”javascript:” 因为它不是事件 而是把”javascript:” 看成像”http:” ”ftp:” 一样的网络协议(交由JavaScript处理)
  • 变量
  1. null/undefined: null表示变量值为空/undefined表示变量还没有指向任何对象(未初始化)
  2. JavaScript弱类型: var i=0;(声明一个变量 名字为i 指向10这个整数 一旦指向10 就是int类型了)/也可以不用var声明而直接使用变量(此时为全局变量)
  3. JavaScript动态类型: var i=0; i=“abc”; //是合法的
  4. 判断变量初始化方法: 
if(x==null)
if(typeof(x)==“undefined”)
if(!x) //变量没有被初始化或变量不空(推荐)
  • 函数
  1. JavaScript中函数声明方式: 以function开头/无需声明参数&返回值类型
function add(i1,i2){
  return i1+i2;
}
  1. JavaScript中不像C#中那样要求所有函数都有返回值(没有返回值时返回undefined)
  2. JavaScript中花括号格式
  3. 匿名函数: 类似C#中匿名函数/JQuery中用的非常多
var f1 = function(i1,i2){return i1+i2;}; //声明一个匿名函数 用f1指向它
alert(f1(5,20));
alert(function(i1,i2){ return i1+i2; }(5,10)); //直接声明一个匿名函数并立即使用
  • Array
  1. JavaScript中的Array: 首先是一个动态数组(无需预先定义数组大小) / 而且是一个像C#中数组 ArrayList Hashtable等的超强综合体
var names = new Array();
  names[0] = “tom”;
  names[1] = “jim”;
  names[2] = “lucy”;
  names[3] = “lily”;
  for(var I = 0;I < names.length;i++){
  alert(names[i]);
}
  1. JavaScript中的Array不仅是一个数组 还是一个Dictionary/Stack
var pinyins = new Array();
pinyins[“人”] = “ren”;
pinyins[“人”] = “ren”;
pinyins[“人”] = “ren”;
alert(pinyins[“人”]);
Alert(pinyins.人);
  1. Array的遍历: for语法(获取”key”的值/见备注3)/获取一个对象的所有成员(因为在JavaScript中对象成员是以对象的key的形式出现/见备注5)
for()var pinyin in pinyins{
  alert(pinyin);
}
  1. Array的简化声明: 
     数组方式: var arr = [3,5,6,8,9];
     字典方式: var arr = {“tom”:30,”jim”:20};
  1. Array.join(): (对于Array数组)拼接为字符串
var arr = {“tom”,”jim”,”lily”};
Alert(arr.join(“,”));
  • 正则表达式
  1. 正则表达式: 与语言无关
  2. (JavaScript)正则表达式类:
var regex = new RegExp(“\\d{5}”); 或 var regex = /\d{5}/
/表达式/ 是JavaScript中专门为简化正则表达式编写而提供的语法(忽略转义符)
RegExp.test(str)方法: 判断字符串str是否匹配正则表达式(相当于C#的Regex.IsMatch()方法)
RegExp.exec(str)方法: 进行搜索匹配(返回值为匹配结果)
RegExp.compile()方法: 编译表达式 提高运行速度
  1. (JavaScript)string中的正则表达式方法:
match(RegExp)方法: 相当于调用RegExp.exec(str)方法/研究返回值(配合RegExp.$1 RegExp.$2使用)
aaa@bb.com.match(/(.+)@(.+/));
alert(RegExp.$1+”,服务器:”+RegExp.$2);
  • 错误与调试
  1. 如果JavaScript中的代码有语法错误 浏览器会弹出报错信息(两种报错对话框) 查看错误信息就可以帮助排查错误
  2. DebugBar
  3. JavaScript的调试: 使用Visual Studio可以很方便的进行JavaScript调试: 
①打开IE调试选项: Internet选项→高级→”禁用脚本调试”
②以调试方式运行网页
③设置断点/监视变量(和C#一样)

posted on 2011-09-19 16:47  les_vies  阅读(178)  评论(0编辑  收藏  举报

导航