设计制作 > CSS/HTML > 文章内容

HTML和CSS教材:JavaScript基础

2016-10-3编辑:sunny

 JavaScript基础

1.       定义代码

< script language=”javascript”>

<!—

 

//-->         这里的//是必需的

</script>

2.       for … in …

3.       函数参数

函数的参数被当成对象处理,属于一个被称为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>

4.       void

void可以让函数执行,但忽略返回值

<a href=”void javascript:rl(1,2,3);”></a>

5.       字面函数

只使用1次的函数

var m=function(x){ return x*x;}

6.       嵌套函数

函数声明嵌套可以放进其它函数中,但不能放进循环中

function h(a, b){ function s(x){ return x*x;}  return Math.sqrt(s(a)+s(b));}

7.       函数构造器

var x=5, y=2;

var m=new function("x", "y", "return x*y;");

alert(m);

8.       对象

function car(m, c, pt){this.m=m; car.c=c; car.pt=pt;

新增属性car.prototype.maker = true;

9.       将函数指定到对象

function mf(…){…}

car.mM = mf;  ß此处没有括号

10.  with操作符

当有许多对象都引用同一个对象时,如果要缩短代码长度,可以使用with操作符

function showcar(car){     alert(car.color); …… alert(car.model);  }

çè function showcar(car){ with(car){alert(color); …… alert(model);}}

11.  操作符优先级

() [] . !  -  ++  --  typeOf  void  delete  */%  +  -  < <= > >=   ==  !=   &&  ||  !  ?  =  +=  -=  *=  /=  %=  <<=  >>=  ,

12.  instanceof

用于标识特定对象是由那一种对象原型或者类实例化的

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

13.  Array对象

一个数组中可能包含各种不同类型的数据,包括日期、数字、字符串,甚至其他数组

var f=new Array();

f[0] = “ve”;  f[1]=35;  f[2]={x:2, y:5}

14.  字面数组

不用new构造器关键词建立的数组

var m=[3.5,  false,  {x:2, y:5}];

15.  delete

可以删除数组元素的内容,并取消内存分配给元素的空间,但整个数组的索引排列仍然和先前相同,length亦不变

delete f[0];   f.length=3;  //13中定义的f

16.  预定义数组

通用数组存放页面上所有元素:document.elements[];

分类数组:document.images[],document.forms[],document.frames[],

document.buttons[],document.links[], ……

17.  另外一些对象

string, Math, Number, Boolean, Date

HTML和CSS教材:事件处理器

热点推荐

登录注册
触屏版电脑版网站地图