Js 内置对象 array
js是弱类型语言,数组对象不存在角标越界问题,元素可不断扩充
创建方式:
1>var 对象数组名 = new Array() ;
不指定长度
2>var 对象数组名 = new Array(size) ;
指定长度
3>var 对象数组名 = new Array([元素1,元素2,...]) ;
简化写法 var 对象数组名 = [元素1,元素2,...] ;
无论在 js 还是 java 中,数组都有一个属性 length ,用来获取数组长度
使用for遍历数组:
var arr = [1,2,3,4,5] for(var i = 0,i < arr.length,i++){ document.write(arr[i]); }
Js 自定义对象
自定义对象和定义函数相同,形参不能带var
一共有四种方式:
1>定义:
function 对象(属性1,属性2,...){ 给属性赋值; this.xx = 属性1 ; this.xx = 属性2 ; ...... 给对象添加功能(方法); this.方法名 = function(可带参数/可不带){ } }
创建:
var 对象名 = new 对象(实际属性1,实际属性2,...) ;
2>定义:
function 对象(){
}
创建:
var 对象名 = new 对象();
自己添加属性:
对象名.xx = xx ;
自己添加方法:
对象名.xx = function(可带参数/可不带){
}
3>利用 js 内置对象:Object (方式3和方式2非常相似)
Object 代表所有对象的模板
创建:
var 对象名 = new Object();
自己追加属性:
对象名.xx = xx ;
自己追加方法:
对象名.xx = function(可带参数/可不带){
}
4>*后期开发经常使用的方式, json 数据格式(也叫做"字面量值的方式")
解析速度非常快
创建:
var 对象名 = {"key1":"value1","key2":"value2",...}
注意: 键值对和键值对之间使用 "," 隔开
常见的dom操作
1>document.getELementById("id属性值") 常用
需要在标签中给定唯一的id
2>document.getElementsByClassName("页面中所有同名的class属性值")
需要在标签中给定class
3>document.getElementsByName("页面中所有同名的name属性值")
需要在标签中给定name
4>document.getElementsByTagName("页面中所有同名的标签名称")
注意:2,3,4的操作都会得到一个对象列表,而1操作得到的是单个对象
例:
<input type="text" id="user" onblur="xx()"/> <script> function xx(){ var a = dacument.getElementById("user") ; a.value ; } </script>
其中,变量a存储的是 id="user" 对应的标签对象 (也就是input标签)
a.value 获取的是该标签的内容
使用 a.innerHTML = "" 可以将 input 标签中的 value 属性清空掉
Js 常用的一些事件
这些所有的事件在标签上,只需要在事件名称前面加上 on...
将指定的事件绑定到 on...属性上
1>点击事件
click 单击
dblclick 双击
2>焦点事件
focus 获取焦点
blur 失去焦点
3>选项卡发生变化的事件,一般用在 select 下拉菜单中
change 事件发生改变