JavaScript对象

来源:互联网 发布:linux查看运行的进程 编辑:程序博客网 时间:2024/06/16 22:05
JavaScript对象,
在JavaScript中没有类这个概念,但有对象这种概念。


this表示当前对象,在这里和Java不完全一样,在这里this严格意义上说,谁用了当前的函数,那么这个this就指向使用这个函数的对象。


Window对象是JavaScript中最顶层的对象。也是内置对象。


<input type="password" onblur="checkPassword(this)">
在这里,this代表input这个元素所对应的对象。




事件,Event
function getEvent(event)
{
alert("事件类型"+event.type);
}

document.write("click");
document.onmousedown = getEvent;
在JS中为某个对象(控件)绑定事件通常可以采取两种手段:
1,<input type="button" onclick="clickHandler();">


2.<input type="button" id="button1">
 <script type="text/javascript">
  var abc = document.getElementById("button1");
abc.onclick = clickHandler;

  </script>
  
在JavaScript中函数表示一个对象,function就代表一个对象。



<script type="text/javascript">
 
1函数 function add(number)
{
alert(number+23);
}

2函数 var add = function add(number)
{
alert(number);
}

其实在这里1函数和2函数是等价的。

3函数 function add(number,number2)
{
alert(number+44);
}

4函数 var add = function add(number,number2)
{
alert(number+44);
}

3函数和4函数是等价的
alert(10);这里应该执行的是函数3或者是函数4,因为add已经指向了后面的函数。在JavaScript中定义多个参数不一定需要传递多个参数,在这里函数3需要是定义了两个参数,但实际传递参数的时候不一定非得传递两个参数。在这里add本身只是一个引用而已,它指向了函数不一样,所代表的意义就不一样。
当然也可以定义的时候只定义一个参数,传递的时候传递多个参数,那么传递的时候会按照从左到右的顺序把传递的第一参数给函数,后面多余的参数作废


在JavaScript中没有函数重载的概念,
  </script>
在JavaScript函数就是一个对象。
在JavaScript中有一个Function对象,所有自定义的函数都是Function对象类型的,Function对象接收的所有参数都是字符串类型的,其中最后一个参数就是要执行的函数体,而前面的参数则是函数真正需要接收的参数。


var add = new Function("num1","num2","alert(num1+num2)");


add(23+21);等于44


function add(num1,num2)
{
alert(arguments[0]);
alert(arguments[1]);
}
add(3,4);


在JavaScript中,每个函数都有一个隐含的对象arguments,表示给函数实际传递的参数。比如,你定义了两个参数,但是你实际传递了5个参数,那么这个arguments表示的就是你实际传递的这五个参数,而不是定义的两个参数。


每一个对象都有一个length属性,表示该函数期望接收的参数格式,它与函数arguments不同,arguments.length表示函数实际接收的参数格式。




JavaScript中有五种原始数据类型:Undefined,Null,Boolean,Number,String


Undefined和Null的值都只有一个,分别是undefined,null.


Boolean的值是,true,false.
JavaScript中没有char类型,


typeof 是一元运算符,其后跟变量名称,用于获取变量的数据类型,其返回值有五个,undefined,boolean,number,string,object.


在JavaScript中,如果函数没有返回值,那么会返回undefined.


null与undefined的关系:undefined实际上是从null派生出来的。


alert(undefined==null);结果为true.




强制类型转换,在JavaScript中有3种强制类型转换,Boolean(value),Number(value),String(value)
 value表示被转换的值。
 
在JavaScript中对于函数定义的变量来说,加var表示局部变量,不加var表示全局变量。


在JavaScript中,所有对象都是从Object中继承过来的,Object中的属性是不可枚举的(propertylsEnumerable返回false),因此无法通过for...in语句得到其中的属性。


在JavaScript中可以动态添加对象的属性,也可以动态的删除对象的属性。