JavaScript,function和object问题

cocoton 2018-04-03 11:52:54
javascript中,function函数实际上是对象,object也是对象。

程序一:

```
function sum(num1,num2){
return num1+num2;
}

var another = sum;
sum=null;

alert(another(10,10)); //20
```




程序二:


```
var obj1=new object();
var obj2 = obj1;
obj1.name = "Hi";
alert(obj2); //Hi;
```
同为对象,在赋值时,
函数sum的改变不会影响函数another
而对象obj1的改变,会影响obj2
...全文
219 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2018-04-04
  • 打赏
  • 举报
回复
这问题与,是函数还是对象没有关系。 sum=null;是对变量本身进行赋值,只会影响这个sum变量的值,不会影响其它变量的值。 这之后 another 和 sum 就存放着不同的值。 而 obj1.name = "Hi"; 是先获取变量存储的对象,对这个对象的name属性进行赋值。obj1变量本身的值没有改变。 obj1 和 obj2 依然存放着同一个对象的引用地址。 如果改成 obj1 = {name: "Hi"}; 就是对obj1变量本身重新赋值一个新对象。 这样obj1 和 obj2 存放的对象就不同了。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧