日期:2014-05-16  浏览次数:20364 次

学习笔记---JavaScript基础

学习笔记---JavaScript基础
2010年12月02日
  1. JavaScrip数据类型:
  值类型PrimitiveValue(栈中): 
  a. undefined类型(值为undefined表示未定义, undefined实际上是从null派生出来的, 在javascript中他们是相等的)、
  b. null类型(已定义且值为null, 表示空引用, 即可用于引用类型, 也可以用于值类型. null只是个标号, 表示什么都没有, 类似于生活中的"无")、
  c. boolean(false、0、null、undefined、NaN均表示false, 其他为true; Infinity亦为true)、
  d. number(1,1.0,..., 8进制以0开头, 16进制以0x开头)、
  e. string(栈上, 无论单引号还是双引号都表示串)
  f. 特殊的数值: Infinity(无穷大)、NaN(非数字)、Numer.MAX_VALUE(最大值)、Number.MIN_VALUE(最小值)、Number.POSITIVE_INFINITY(正无穷)、Number.NEGATIVE_INFINITY(负无穷)
  引用类型ReferenceValue(堆中): 
  object(函数是一种特殊的对象类型)
  2. 开启脚本调试: Internet工具 -- 高级 -- 去掉禁用脚本调试的勾即可
  3. 变量名: 必须是非关键字的字符、下划线、数字、$, 但是首字符不能是数字
  4. JSON(JavaScript Object Notation): 即JavaScript对象标记法, 用来在javascrip中创建对象,如: var obj ={}; 其中, javascript中的对象可以动态的增加或删除, 可以认为对象内部有个字典, 键位对象成员名, 值为成员的value;
  5. Array-Like: JavaScript中可以使用类似数组的方式来访问对象, 因为单独的数字不能作为属性名称, 可以通过"0":100(对象内部)或 array["0"]=100 或array[0]=100赋值, 之后在for循环中, 可以直接用i做下标
  6. 函数: a. 函数可以无返回类型, 直接return即可 b. 函数的参数也不需要指定类型, 直接写参数名即可(最好还是写上有意义的符号做参数); 甚至可以不定义任何参数, 在调用时直接传递参数即可(通过arguments获得参数, length属性表示实际传递的参数个数)
  7. 匿名函数: (function(){alert("Hello");})(); 脚本块执行完毕后, 自动加载.
  8. ★JavaScript脚本块执行顺序: a. 脚本块按先后顺序执行, 所以只能后便的脚本块调用前面脚本块中的函数. b. 同一脚本块中, JavaScript会先识别函数, 之后才会按照代码依次执行, 因此同名的函数会被覆盖, 不会出现C#中的重载.
  9. 类函数(构造函数)和new配合用来创造新的对象实例, 可以通过this获得刚创建的对象, 如果不用new的话, this获得是全局对象window, 而对象的成员也是创建在window上的
  10.数组[]: 可使用join()方法连接数组的各个数据元素; 若要实现倒序排序, 需要在sort()中放置个函数对象; 也可以用数组当作堆栈和队列使用(pop和shift、push和unshift)
  11.日期处理: 当前日期new date(); 年份getFullYear(); 月份getMonth()+1; 天getDate(); 星期几getDay()
  12.字符串处理: 常用的字符串对象成员:
  length 串长
  charAt() 根据下表找字符
  substring() 取子串, 第一个参数为起始位置, 第二个参数个数, 正数向右数, 负数向左数
  slice() 取字串, 低格参数为起始位置, 第二个参数为个数, 正数向右数, 负数从末尾向左数
  concat() 连接子串, 通常用+
  toLowerCase() 变小写
  toUpperCase() 变大写
  indexOf()   查找
  13. delete用于动态删除成员、void通常用于避免输出不应该的值:如:window.open('about:blank')返回一个对象, 如果不加void则会使父页面变成[object], 加上void后返回undefined(无效值), 不会再父页面中显示
  14. ★&&和||: 将a或b转换为boolean类型, 对于a&&b: 若a为false, 则返回a, 否则返回b; a||b: 若a为true则返回a, 否则返回b(实际上就是&&和||提前结束的情况). 该操作对于null、NaN、undefined同样有效.
  15. ==和===、!=和!==: ==和!=表示数值相等, ===和!==表示引用相等
  16. 异常处理: BOM中包含的onerror错误事件和try..catch...finally结构两种异常处理方式.
  window.onerror = function(message,url,line){}, 可以定义异常出现时error事件的处理方法, 且必须写在js语句块的第1行. onerror对象提供了三种信息(由error事件的参数自动传递给处理函数): 错误信息、发生错误的文件的url、错误的行号.
  Javascript中的所有异常对象派生自Error基类, 该基类有两个属性: name(错误类型)和message(错误信息). 
  catch子句中捕获的是error的子类: EvalError(eval中的错误)、SyntaxError(eval中的错误语法)、RangeError(数字超范围)、ReferenceError(非法的引用)、TypeError(变量类型非预期)、URIError(encodeURE()或decodeURI()函数中出错).
  throw用于抛出异常(throw error_object), 也可以抛出一个error对象, 该对象的构造函数只有一个参数--错误信息.
  17. BOM(Browser Object Model, 浏览器对象模型): 表示当前浏览器窗口对象.
  顶级对象的常用方法: alert用于在提示窗口中显示信息.
  confirm显示一个确认窗口.
  prompt获取用户的输入.
  open打开新的页面, 该方法返回新窗口的引用供父窗口使用, 同时也可以通过window.opener得到父窗口的引用.
  close关闭当前窗口.
  setInterval设定定时任务
  clearInterval取消定时任务
  setTimeout设置延时执行任务
  常见属性: event事件对象, event常用属性有returnValue(是否允许事件处理继续进行, false为停止继续操作)、srcElement(触发事件的事件源对象)和attachEvent("onclick",function(){...});
  location当前访问的资源地址
  opener打开当前窗口的窗口(即父窗口)
  document网页内容的dom对象(内存中的, document object model)
  //示例代码: 
  
  
  (请您对文章做出评价)
  学习笔记---HttpApplication处理管道
  学习笔记---Javascript原型对象、this的5钟用法、原型继承、Caller和Callee的使用
  posted on 2010-12-02 22:39 我的.Net成长笔记――中美爱梯学习经历 注册用户登录后才能发表评论,请
  张朝阳:我是温和善良的企业家
  美科学家揭秘宇宙中恒星总数 是预想的三倍
  IBM发布从惠普和Oracle抢夺客户的详细资料
  20个值得收藏的网页设计开放课件
  传Twitter新一轮融资估值达30亿美元
  [/b]搭建App Engine完美开发环境
  Google工程师多图详解Android系统架