函数参数个数可变:
//在函数内部使用arguments对象访问调用程序传递的所有参数
<script language="javascript">
function testparams(){
var params="";
for(var i=0;i<arguments.length;i++)
params=params+""+arguments[i];
}
testparams("a","b","c");
testparams("a","b");
</script>
在函数中修改参数值的问题
<script language="javascript">
function changeValue(x){
x = 5;
}
var x = 3;
changeValue(x);
//此时X的值=3
</script>
<script language="javascript">
function Value(){
this.x =3;
this.putValue = putValue;
}
function putValue(){
alert(this.x);
}
var value = new Value();
value.putValue();
function changeValue(v){
v.x = 5
}
changeValue(value);
//此时X的值为5
</script>
创建动态函数:
/*所有参数都必须是字符串型,最后的参数必须是动态函数的功能程序代码
<script language="javascript">
var square = new Function("x","y","var sum;sum=x*x+y*y;return sum;");//动态函数
square(3,2);
</script>
JavaScript一些系统函数:
parseInt:将字符串转换为整数
parseFloat:将字符串转换为对应小数
isNaN:
<script language="javascript">
var a = parseInt("abc",10);
if(isNaN(a)){ //当parseInt、parseFloat函数中字符串开头字符不为数字, 返回NaN,isNaN函数返回true
alert("OK");
}
</script>
对象
<script language="javascript">
/*构造函数,可带参数,在构造函数中增加的属性、方法将会添加到每一个对象实例 上,但在对象实例中增加的属性、方法不会在其它对象中定义,构造函数不能有返回值 */
function Person(){
}
var person = new Person();//对象初始化
person.name = "pengjian";//为对象添加成员变量
person.age = 18;
//为对象添加成员函数
function outputPerson(){
//两种引用方式
alert(person.age + ","+ person["age"]);
}
person.output = outputPerson;//为对象添加成员函数
person.output();//调用成员函数的方法
</script>
this关键字代表引用该方法的当前对象实例
<script language="javascript">
function Person(name,age){
this.name = name;
this.age = age;
this.out = outPerson;
}
function outPerson(){
var temp = this.name + "," + this.age;
return temp;
}
var person1 = new Person("zhang3",18);
alert(person1.out());
</script>