Javascript基础

一个完整的javascript实现是由以下三个部分组成:
核心(ECMAScript)
文档对象模型(DOM)
浏览器对象模型(BOM)

ECMAScripot描述了以下一些内容:
语法,类型,语句,关键字,保留字,运算符,对象

DOM是由HTML和XML的应用程序的接口.DOM将整个页面规划
  成由节点层次构成的文档.HTML或者XML的每个部分都是一个节点的衍生物.
  DOM通过创建树来表示文档.
  
  DOM的各个LEVEL:
    LEVLE1:  
      两个模块构成:DOM Core 和DOM HTML.
      前者提供了基于XML的文档的结构图,以方便访问和操作文档的任意部分;
      后者添加了一些HTML专用的对象和方法.
    
    LEVLE2:
      扩展了对鼠标和用户界面事件,范围,遍历的支持,并通过对象接口添加了对CSS的支持,也假如了对XML命名空间的支持.
      
    LEVEL3:
      引入了以统一的方式载入和保存文档的方法.
      
  BOM
    可以对浏览器窗口进行访问和操作
    
  判断一个变量是否为undefined
  var a;
  if (typeof(a)="undefined") or if (a == undefined)   //true
  
  如果一个变量未定义,虽然 if (typeof(a)="undefined")但是  if (a == undefined)报错
  
  NUll类型
    值undefined实际上是从null派生来的,所以
      alert(null == undefined)//output true
      
  function
    如果没有返回值,返回的就是undefined
    如果返回的是对象,但是找不到该对象时,返回的就是null
    
  NAN表是非数,一般情况发生在类型转换失败时.例如转换blue为数字就会失败.另外NaN的奇特之处在于自身不相等.
    alert(NaN == NaN)           //output false
    
  类型转换:
    字符->数字:
      如果要转换的十进制数包含前导0,那么最好成绩采用基数10
      var iNum1 = parseInt("010");  //returns 8
      var iNum1 = parseInt("010",8);  //returns 8
      var iNum1 = parseInt("010",10);  //returns `0
      
      parseInt 可以有基模式和默认模式
      parseFloat只有默认模式
      
  闭包:
    函数能够使用函数外定义的变量.例如使用全局变量是一个简单的闭包实例.
      var sMessage = "Hello World!"      
      
      function sayHelloWorld(){
        alert(sMessage);
      }
      
      sayHelloWorld();
      
    在一个函数中定义另外一个函数会使闭包变得更加复杂
      var IbaseNum = 10;
      
      function addNumbers(iNum1, iNum2)   {
      
        fcuntion doAddition(){
          return iNum1 + iNum2 +iBaseNum;
        }
        
        return doAddition();
      }
      
    splice()把数据项插入数组的中部
      删除:要删除的第一个项的位置和要删除的项的个数
aColors.splice(0,2)删除数组aColors中的前两项;
     替换而不删除:声明三个参数可以把数据项插入指定位置:1.起始位置,2.0(要删除的项的个数) 3.要插入的项.
aColors.splice(2,0,"red","green")将在位置2处插入"red"和"green"
     替换并删除: 声明三个参数可以把数据项插入指定位置:1.起始位置,2.要删除的项的个数 3.要插入的项.
aColors.splice(2,1,"red","green")删除位置2处的项,然后在位置2处插入"red"和"green"
     JavaScript代码
var aColors = ["red","green","blue","yellow"];   
aColors.splice(0,2);//blue,yellow   
aColors.splice(2,0,"r","g");//red,green,r,g,blue,yellow   
aColors.splice(2,1,"r","g");//red,green,r,g,yellow      

  encodeURI:
    用于处理完整的URI(http://www.ox.com/illegal value.htm#start)
    
  encodeURIComponent:
    用于处理URI的一个片段(illegal value.htm)
  主要区别:encodeURI方法不对URI中的特殊字符进行编码,如冒号,前斜杠,问号和英磅符号
           encodeURIComponent对所有的非标准字符进行编码
  可以看到除空格外,第一个URL无任何改变,空格被替换为%20.第二个中的所有非字母和数字字符都被替换成对应的编码.         
  
  decodeURI和decodeURIComponent
    对比BOM的escape,unescape方法.URI方法更加可取,因为他们会对所有的Unicode符号编码,而BOM方法只对ASCII符号正确编码
  

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/293106/viewspace-591919/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/293106/viewspace-591919/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值