论坛首页 Web前端技术论坛

ECMAScript 基础

浏览 10562 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-06-15  
推荐一下这本书吧
Wrox - Professional Javascript For Web Developers - 2005.pdf
http://www.amazon.com/gp/product/0764579088/qid=1150342789/sr=1-1/ref=sr_1_1/102-5630863-0806518?s=books&v=glance&n=283155
0 请登录后投票
   发表时间:2006-06-15  
box 写道
推荐一下这本书吧
Wrox - Professional Javascript For Web Developers - 2005.pdf


感谢!这本书评价不错,我在看的也是这本,值得初学研读。

http://www.blogjava.net/flyingis/archive/2006/06/11/51947.html
0 请登录后投票
   发表时间:2006-06-16  
Functions是ECMAScript的核心,在任何时候任何地方都可以运行的一组代码语句。

function functionName(arg0, arg1, ……, argN); {
  statements
}

当function没有返回值或return语句后没有值的时候,该function实际上会被系统定义为undefined,当function返回值的时候,function可以不必明确指定为某种数据类型。

[u]关于重载[/u]

重载是面向对象语言的基本特性之一,但ECMAScript的functions并不能重载,在同一范围里可以定义两个完全相同的函数,在调用函数的时候,最后的一个函数发挥作用。这种特性比较麻烦,但可以通过arguments对象来实现和重载类似的功能。

function func(); {
  if(arguments.length == 1); {
    alert(arguments[0] + 5);;
} else if (arguments.length == 2); {
  alert(arguments[0] + arguments[1]);;
}
}
func(5);;  //输出10
func(10, 15);;  //输出25


前面提到过,在同一范围里可以定义两个完全相同的function,在调用function的时候,最后的一个function发挥作用。

function func(i); {
  alert(i + 10);;
}
function func(i); {
  alert(i + 20);;
}
func(5);;  //输出25


可以看出,是调用了最后的一个function使得数据结果为25,如果使用Function类来定义以上两个函数,那为什么会使用最后的一个function可能会更明确一些。

var func = new Function(“i”, “alert(i + 10);”);;
var func = new Function(“i”, “alert(i + 20);”);;
func(5);;


func指向了另外一个引用,从而值发生了改变,func是作为function对象的引用而存在的,并且允许两个变量指向同一个function。

和Function类相关的属性、方法有许多,例如length、toString()、valueOf()等等。其中toString()在调试程序中使用较多。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics