js object数据类型
 1.object数据类型,[可以]认为JavaScript中顶级数据类型.在JavaScript绝大多数
      高级类型对象都是object类型
    2.如何创建一个object类型对象
        
       1) 通过调用Object内置构造函数,创建一个object类型对象
       2) 通过JSON格式,创建一个object类型对象 {属性名:值,函数名:function(){}}
       3) 通过自定义构造函数,创建一个object类型对象
3.如何区分普通函数与自定义构造函数 
    
       通过调用形式,决定当前函数是普通函数还是构造函数
         普通函数调用形式:    对象.函数();
	 构造函数调用形式:    var obj=new 函数();
	 在Java中方法内部的this的指向与JavaScript中函数内部this是一样
	   1)在构造方法中,this指的当前创建的实例对象
	   2)在普通方法中,this指的调用当前方法的实例对象
4.object类型对象的特点
          因为JavaScript是弱类型编程语言,没有类文件的约束
	  所以object类型对象可以在创建后,任意添加属性和函数
5.如何为object类型对象添加属性函数:
          1)object对象中[属性名称]都是字符串类型
	  2)添加属性格式
	             object类型对象['属性名']=值;
		     object类型对象.属性名 = 值;
	  3)移除属性格式
	              delete  object类型对象.属性名;
		      delete  object类型对象["属性名"];
6.动态指定函数的调用对象----------> 代码快速复用(封装商业价值)
        1) 函数类型对象.call(调用对象,实参1,实参2...);
	2) 函数类型对象.apply(调用对象,[实参1,实参2...]);
	   Method.inovke(调用对象,[实参,实参])
7.原型属性----prototype[重点]
        1) 所有的[函数类型对象],都自动分配一个属性(prototype)
	2) 这个属性(prototype)成为原型属性,由这个属性管理对象成为[原型对象]
	3) 这个属性(prototype)就相当于Java类中 static final属性
	4) 由当前构造函数生成的所有实例对象,都可以使用当前构造函数中prototype
	   指定的对象中属性,但是只能用,不能修改
        5) 原型对象内容,只能由[函数类型对象]通过prototype.属性方式进行修改
        6) JavaScript自动为prototype属性分配一个默认的对象,这个对象就被成为原型对象
	7) 函数类型对象.prototype.属性名 ,对原型对象属性进行操作
	   函数类型对象.prototype = 对象, 改变管理原型对象引用地址
	   
三.JavaScript5.0 继承实现
       1.[继承]: 资源共享,只要能实现资源共享都可以认为继承体现.
       2.JavaScript5.0继承: 通过[构造函数]
       3.JavaScript5.0继承实现细节:
                                    1) 通过原型属性
				    2) 通过call或则apply
四.JavaScript5.0中 callee属性
       1.[arguments属性对象]拥有一个属性[callee]  arguments.callee
       2.callee属性相当于一个指针.永远[指向函数在内存存储位置]
         ****callee相当于常量(final),callee只要生成永远指向它遇到一个函数在内存地址
五.数组 Array
      1.JavaScript5.0对于数组定义;
         1)JavaScript5.0数组等同于Java中List集合
      2.JavaScript5.0数组特征:
         1)声明数组时,不需要指定数组中最大能够存储的数据个数
	   在JavaScript中不限制数组保存的数据个数
         2)数组同时保存多个不同的数据类型的数据
3.如何声明JavaScript5.0数组
          1) 可以使用一个[]声明数组
	       var myArray =[];
	       var myArray2 =[10,20,30]
          2) 可以使用JavaScript提供内置构造函数(new Array())创建数组
               var myArray = new Array();
      4. JavaScript5.0数组下标
          1) 阿拉伯数字 ,从0开始
	  2) 字符串
5. JavaScript5.0数组常用专有函数
          1.push(数据1,数据2,数据3):可以向数组对象一次添加多个数据
	  2.pop():  每次执行时,将数组对象中最后一个为保存的数据进行删除
	  3.length: 返回当前数组对象保存数据个数
-------------------------------------------------------------------------------------
                        JavaScript应用篇
一.JavaScript应用:
             JavaScript[定位]浏览器内存中Dom对象,并对Dom对象中属性进行设置
二.Dom对象:
           1.浏览器将加载html标签,当做一种数据类型.
	   2.浏览器加载某一个html标签时,会为当前这个标签生成一个引用对象.
	     这个引用对象就是DOM对象
           3.浏览器根据标签声明顺序,在内存中以树型结构方式存储所有的DOM对象
	   4.可以通过修改DOM对象属性,来影响对应的标签中属性变化
三.如何定位浏览器内存中Dom对象
           1.根据[id属性值],定位浏览器内存中第一个满足条件的DOM对象
	         var domObj = document.getElementById("id属性值");
		 *****<body></body>对应应用对象 document
           2.根据[name属性值],定位浏览器内存中所有具有相同name的Dom对象
	          var domObjArray  =  document.getElementsByName("name属性值");
           3.根据标签类型名称,定位浏览器内存中所有具有相同标签类型名称DOM对象
	       
	          var domObjArray=document.getElementsByTagName("标签类型名称");
四.HTML标签中监听属性
           1.监听属性定义
           监听属性主要监控用户使用鼠标和键盘对当前标签进行操作,同时也可以对
	   浏览器特定行为进行监控
2.监听属性分类:
              1) 鼠标操作行为:
                               onclick: 用户是否使用鼠标单击标签
			       ondbclick: 用户是否使用鼠标双击标签
			       onchange : 用户是否使用鼠标改变下拉列表选中项
			       onmouseover:用户是否将鼠标悬停在当前标签上方
			       onmouseout :用户是否将鼠标从当前标签上方移开
			       onfocus :   用户是否通过鼠标将光标设置在当前标签上
			       onblur  :   当前标签是否失去了光标
	      2) 键盘操作行为:
	                       onkeydown: 用户是否按下键盘上某一个按键
			       onkeyup :  用户是否松开了键盘上某一个按键
	      3) 浏览器加载行为:
	                        onload:  主要在body标签设置,监控浏览器是否将
				         body标签进行加载完毕
            3.监听属性作用:
	                   监听属性如果发现了用户的操作行为时,自动调用对应JavaScript
			   函数进行处理
                           onclick = "处理函数()"
           4.如何将监听属性与处理函数进行绑定:
                           1) 在Html标签内部,通过 [监听属性 = "处理函数名()";]
			       **** 一次只能为一个html标签进行监听属性与处理函数绑定
2) 一次为多个html标签设置监听属性与处理函数进行绑定
domObj.监听属性 = 处理函数引用对象名;
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号