码迷,mamicode.com
首页 > 其他好文 > 详细

函数深入理解---函数的定义方式

时间:2014-12-12 16:15:25      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   sp   on   div   log   

函数的定义方式

//第一种定义方式
function fn1(){
    alert(‘fn1‘);
}

/*函数就是一个非常特殊的对象,是一个Function类的实例,
  其实在内存中存储的操作是通过一个键值对来存储的
*/
console.log(typeof fn1);

//由于函数是一个对象,所以可以通过如下方式定义
//以下是通过函数的拷贝来完成赋值,两个引用并没有指向同一个对象

var fn2 = fn1; //两个的值虽然相等,但是指向的是不同的空间
fn2();

fn1 = function(){
    console.log(‘fn1‘); //fn1的值改变了之后,不会影响fn2的值
}

/*
函数虽然是一个对象,但是却和对象有一些区别,对象是通过
引用的指向完成对象的赋值的,而函数却是通过对象的拷贝来完成的
所以fn1虽然变了,并不会影响fn2
*/
fn2();
fn1();

/*
    对于对象而言,是通过引用的指向来完成赋值的,此时修改o1或者o2会将两个值都完成修改
*/
var o1 = new object();
var o2 = o1; //o1和o2其实指向了同一块空间,当修改o2的值的时候,o1也会被修改
o2.name = ‘leo‘;
alert(o1.name);

 

函数深入理解---函数的定义方式

标签:style   blog   io   ar   color   sp   on   div   log   

原文地址:http://www.cnblogs.com/leole/p/4159805.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!