< script language=”javascript”>
<!—
//--> 这里的//是必需的
</script>
函数的参数被当成对象处理,属于一个被称为arguments数组的一部分,调用时不需要传递与函数声明定义数量相同的参数
<html>
<head>
<title>JavaScript</title>
<script language="javascript">
function rl(){
if(arguments.length > 0)
window.document.myForm.myText.value=arguments[0];
}
</script>
</head>
<body>
<form name="myForm">
<input type="text" name="myText" maxlength="8"/>
<input type="button" name="myButton" value="click me"
onclick="javascript:rl(1,2,3);">
</form>
</body>
</html>
void可以让函数执行,但忽略返回值
<a href=”void javascript:rl(1,2,3);”></a>
只使用1次的函数
var m=function(x){ return x*x;}
函数声明嵌套可以放进其它函数中,但不能放进循环中
function h(a, b){ function s(x){ return x*x;} return Math.sqrt(s(a)+s(b));}
var x=5, y=2;
var m=new function("x", "y", "return x*y;");
alert(m);
function car(m, c, pt){this.m=m; car.c=c; car.pt=pt;
新增属性car.prototype.maker = true;
function mf(…){…}
car.mM = mf; ß此处没有括号
当有许多对象都引用同一个对象时,如果要缩短代码长度,可以使用with操作符
function showcar(car){ alert(car.color); …… alert(car.model); }
çè function showcar(car){ with(car){alert(color); …… alert(model);}}
() [] . ! - ++ -- typeOf void delete */% + - < <= > >= == != && || ! ? = += -= *= /= %= <<= >>= ,
用于标识特定对象是由那一种对象原型或者类实例化的
x = new Array();
x instanceof Array //true
Array instanceof object //true
javascript中instanceof和typeof都能用来判断一个变量是否为空或是什么类型的变量。
typeof用以获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined。我们可以使用typeof来获取一个变量是否存在,如if(typeof a!="undefined"){},而不要去使用if(a)因为如果a不存在(未声明)则会出错,对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。
如果我们希望获取一个对象是否是数组,或判断某个变量是否是某个对象的实例则要选择使用instanceof。instanceof用于判断一个变量是否某个对象的实例,如var a=new Array();alert(a instanceof Array);会返回true,同时alert(a instanceof Object)也会返回true;这是因为Array是object的子类。再如:function test(){};var a=new test(); alert(a instanceof test)会返回true。
谈到instanceof我们要多插入一个问题,就是function的arguments,我们大家也许都认为arguments是一个Array,但如果使用instaceof去测试会发现arguments不是一个Array对象,尽管看起来很像。
另外: 测试 var a=new Array();if (a instanceof Object) alert('Y');else alert('N'); 得到'Y’
但 if (window instanceof Object) alert('Y');else alert('N'); 得到'N'
所以,这里的instanceof测试的object是指js语法中的object,不是指dom模型对象。
使用typeof会有些区别 alert(typeof(window) 会得到 object
一个数组中可能包含各种不同类型的数据,包括日期、数字、字符串,甚至其他数组
var f=new Array();
f[0] = “ve”; f[1]=35; f[2]={x:2, y:5}
不用new构造器关键词建立的数组
var m=[3.5, false, {x:2, y:5}];
可以删除数组元素的内容,并取消内存分配给元素的空间,但整个数组的索引排列仍然和先前相同,length亦不变
delete f[0]; f.length=3; //13中定义的f
通用数组存放页面上所有元素:document.elements[];
分类数组:document.images[],document.forms[],document.frames[],
document.buttons[],document.links[], ……
string, Math, Number, Boolean, Date
全国职称计算机考试速成过关系列套装:W .. 定价:¥133 优惠价:¥133.0 更多书籍 | |
全国职称计算机考试速成过关系列套装:W .. 定价:¥124 优惠价:¥124.0 更多书籍 |