您的位置:首页 > Web前端 > JavaScript

Javascript 学习笔记2 —— 函数

2011-10-10 21:48 471 查看

1操作符

Javascript中的操作符与C、C#等语言中的操作符类似,这里只记录一些以前不知道的和需要注意的东西

1.1议员操作符

1、递增和递减操作符(++--

递增和递减操作符主要需要注意的就是前置和后置的区别。

前置的操作符在计算表达式中都是先计算递增或者递减的结果然后才计算表达式的值的:

var age=28;

var newAge = ++age+2;


alert(newAge); //30


后置的操作符在计算表达式中式先计算表达式的值,然后才计算自增后自减运算的。

var age =28;

var newAge = 2+age++;

alert(newAge); //29

2、一元加减造作符

一元加减操作符在操作数字时与数学中讲的完全一样。但是将其应用到非数值上时会使用Number()函数进行转换然后才对转换后的值进行操作。

3、布尔操作符

使用“!!”可以将任意类型的变量值转换为对应的Boolean值。其他的规则与C、C#语言一样

4、乘性操作符

乘法(*)的语法与C类似,但是在一些特殊情况下将遵循以ixetieshude规则。

a)
如果乘积超过了最大的存储范围,那么将会返回Infinity或者-Infinity。

b)
如果有一个操作数是NaN,则结果是NaN

c)
如果Infinity与Infinity相除则记过是NaN

d)
如果Infinity被任意数值除,则结果是Infinity

包括其他的一些操作符关于对无穷大以及零和NaN的特殊规则不在记录了,一般比较难以遇到。

。。。。。。。。。。。。。。。。省略其他操作符

5、条件操作符

Varable
= Boolean_Expression? True_value : False_Value;

例如:

var
max = num1>mum2?mum1:mum2;将得num1与num2之间的最大值。

2.语句

If、do{…..} while(Boolean_Expression); while(Boolean_Expression){…….}; for(;;;);与C中的操作类似;

For-in语句相当于C#中的foreach;使用它将会迭代对象中的所有可属性的名称包括原型中的属性。

Javascript中没有块级作用域,因此需要注意带大括号中的变量除非是在函数或对象内部,在大括号后面也是可以访问的。例如:

for(var i=0;i<10:i++)

{

i++;

}

alert(i); //这里不会报错,而是回弹出10;记住Javascript是没有块级作用域的。

With语句

With的作用是将代码的作用域设置到一个对象中,with的语法如下:

With(expression)
statement

定义with主要是简化多次编写同一个对象的工作,如下面的例子所示:

var ql=
loacation.search.substring(1);


var hostname = location.hostname;

var url = location.href;

上面的几行代码使用with可以简化为:

With(location) {

Var qs = search.sbuString(1);

Var hostname = hostname;

Var url = href;

}

3.函数

函数对任何语言来说都是一个核心的概念。通过函数可以封装任意多条语句,而且可以在任何时候调用执行。Javascript中使用function 关键字来声明函数。

如:

function functionName(arg0,arg1,arg3){

startements

}

Javascript中函数不需要明确的表示需要返回值,在认识时候都可以使用“return”语句返回任何类型的值。使用return语句会立即停止函数的执行,也就是说“return”后面的语句将永远不会被执行。如果return后面没有返回值则返回undefined;

参数

Javascript函数的参数在内部其实是用一个数组表示的,无论函数声明中有几个命名的参数,在调用的时候都可以传入任意多个参数,这在语法上不会有错误。如果在函数体内使用的命名参数没有被赋值,那么它的值就是Undefined。如果传递了多于命名参数的值也没有没问题。在函数内部有一个内部属性arguments对象,使用它可以获取传递到函数中的每一个参数。

Javascript中的函数不可以重载。

如果同时声明了两个名字一样的函数,那么最后声明的函数将会覆盖前面声明的函数。Javascript中的函数没有签名,因为禅味其参数是有零个或多个值的数组表示的,因此不可能做到真正的重载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: