JS高级程序设计2nd部分知识要点4

ECMAScript中所有函数的参数都是按值传递的。
5种基本数据类型: Undfined,Null,Boolean,Number,String.

 

ECMAScript中的所有参数传递的都是值,不可能通过引用传递参数。
 
函数声明会优先于函数表达式被解析器解析,函数表达式则必须笔等到解析器执行到它所在的代码行,才会真正被解释执行。
例子:
alert(sum(10,10));
function sum(num1,num2){
    return num1+num2;
}
-------------------------------
alert(sum(10,10));//会出错
var sum=function(num1,num2){
     return num1+num2;
}
 
函数的名字仅仅是一个包含指针的变量而已。
 
每个函数都包含两个非继承而来的方法: apply()和call();
apply()方法接受两个参数:一个是在其中运行函数的作用域,另一个是参数数组。其中,第二个参数可以是Array的实例,也可以是arguments对象.
 
call()方法与apply()方法的作用相同,区别仅在于接收参数的方式不同,对于call()方法而言,传递给函数的参数必须逐个列举出来
 
例子:
function callSum1(num1,num2){
  //return sum.apply(this,arguments);//传入arguments对象
  return sum.call(this,num1,num2);
 }
 
上述方法真下强大的地方是能够扩充函数赖以运行的作用域。
 
 
布尔表达式中的所有对象都会被转换为true;
posted @ 2015-04-27 17:43  ipha  阅读(131)  评论(0编辑  收藏  举报