函数的重载
function sum(num1,num2){ return num1+ num2; } var sum = function (num1,num2){ return num1+ num2; } function sum(num1){ return num1 + 100 ; } 函数的对象,不存在重载,只是存在覆盖,后面定义会覆盖前面定义的 /* 此时sum所指向的空间已经从有两个参数的函数变化到只有num1的函数中 在调用的时候就只会调用只有num1的函数 特别指出:函数的参数和调用没有关系,如果函数只有一个参数,但是却传入 所以在js中函数不存在重载 */ var sum = function (num1){ return num1 + 100 ; } // 函数有如下一种定义方式 一定多思考相应的内存相模型 /* 如下定义方式等于定义了一个 function fn(num1,num2){ console.log(num1 + num2); } 所以通过以下的例子,充分的说明函数就一个对象 */ var fn = new Function('num1','num2','console.log('fun:'+(num1+num2))' ); fn( 12,22 ); console.log( 12,22 ); alert(sum( 19 )); alert(sum( 19,20));