在JavaScript中,functions是一类对象,他们像对象一样有属性与方法,与对象不同的是函数能够被调用,我们可以理解为函数是Function对象。
ECMAScript中所有函数的参数都是按照值来传递的,在向参数传递基本类型的值时,这个变量的值不会反映在函数的外部但是当向参数传递引用类型的
值时,这个局部变量的变化会反映在函数的外部
var addFunction = function add ( num ) { if ( typeof ( num ) == 'int' ) { return num += 10 ; } return num += 20 ; } var num = 10 , num2 = { num: 5 , name: 'beauty' }; console . log ( addFunction ( num )); /*结果是30*/ console . log ( num ); /*结果是10,并没有改变num的值*/ console . log ( addFunction ( num2 . num )); /*结果是25*/ console . log ( num2 . num ); /*结果是5*/ function setAge ( obj ) { obj . age += 10 ; return obj . age ; } -- 函数参数是按值来传递的 var person = { 'age' : 0 , 'name' : 'beauty' }; console . log ( setAge ( person )); /*结果是10*/ console . log ( person . age ); /*结果是10*/方法使用的几种方式
1.
var addFunction=function(){};
addFunction()
2.
var addFunction=function Add(){
};
addFunction();
3.
function Add(){}
Add();
4.
addFuntion();
var addFunction=function(){};
5.
当函数仅仅使用一次的时候
(function() { statements })();
6.
箭头函数
([param[, param]]) => { statements } param => expression
var add=(a,b)=>a+b;
add(1,2)
这个语法类似于C#中的拉姆达表达式
