1、可变函数的使用
<script language="javascript"> function testparams(){ var params=""; for(var i=0;i<arguments.length;i++){ params=params+""+arguments[i]; alert(params); } testparams("abc",123) testparams("abc" "123","456") } </script>
2、动态函数的使用
<script language="javascript">
var square=new Function("x","y","var sum;sum=x*x+y*y;return sum");
alert(square(3,2));
<script>
3、对象
3.1 只要定义了一个对象的构造函数,就等于定义了一个对象。
<script language="javascript"> function Person(){ } var person1=new Person(); person1.age=18; person1.name="zxx"; function sayFunc(){ alert(person1.name+":"+person1.age); } person1.say=sayFunc; person1.say(); <script>
3.2在构造函数中增加属性和方法会被增加到每个对象实例上
<script language="javascript"> function Person(name,age){ this.age=age; this.name=name; this.say=sayFunc; } function sayFunc(){ alert(this.name+":"+this.age); } var person1=new Person("张三",18) person1.say(); var person2=new Person("李四",20) person2.say(); </script>
3.3在函数中修改参数值问题
<script language="javascript"> function Person(name,age){ this.age=age; this.name=name; this.say=sayFunc; } function sayFunc(){ alert(this.name+":"+this.age); } function change(p1){ p1.name="李四"; } var person1=new Person("张三",18); change(person1); person1.say(); </script>
4、javascript内部对象
4.1Object对象
提供了一种创建自定义对象的简单方式,不需要程序员再定义构造函数
<script language="javascript"> function getAttributeValue(attr){ alert(person[attr]); } var person=new Object(); person.name='zs'; person.age=18; getAttributeValue("name"); getAttributeValue("age"); </script>
4.2Math对象
var num=Math.random();
属性:E,LN10,LN2,PI,SQRT1-2,SQRT2
方法:abs sin cos asin acos random
4.3Date对象
<script language="javascript">
var dateVal =Date.parse("November 1, 1997 10:15 AM");
var current_time=new Date(dateVal);
var strDate=current_time.getYear()+"年";
strDate+=current_time.getMonth()+"月";
strDate+=current_time.getDate()+"日";
strDate+=current_time.getHours()+"时";
strDate+=current_time.getMinutes()+"分";
strDate+=current_time.getSeconds()+"秒";
alert(strDate);
</script>
5、数组
5.1基本的数组
var arr=["zs",123,'li',3.5]
length属性
arr[0].....arr[4]
var arr=[1,,,,5]; 数组元素可以为空,空元素的值为undefined;
5.2数组的数组
<script language="javascript"> var arr=[1,["zs"+1,,'li',3.5],["w","x",1]]; for(var i=0;i<arr.length;i++){ if(arr[i].length){ for(var j=0;j<arr[i].length;j++){ alert(arr[i][j]); } }else{ alert(arr[i]); } } </script>
5.3使用对象方式实现数组
<script language="javascript"> function MyArray(){ this.length=arguments.length; for(var i=0;i<this.length;i++){ this[i]=arguments[i]; } } var str=""; var arr=new MyArry(4,3.5,"abc"); for(var i=0;i<arr.length;i++){ str+=arr[i]+"\n"; } alert(str); </script>
5.4Array对象
//构造方法 var arr=new Array();//初始元素个数为0 var arr2= Array(4) var arr3=Array(3.5,"abc",3); //数组排序的例子 <script language="javascript"> var arr=new Array(3.5,"abc",3); arr.sort(); var x,str=""; for(x in arr){ str+=x+":"+arr[x]+"\n"; } alert(str); </script>