2017.3.28 函数名字 delete

1 函数名字问题
var f = function g(){
 return 23;
};
typeof g();//报错

这是一个名字是g的function expression,然后又被赋值给了变量f。

这里的函数名g和被其赋值的变量f有如下差异:

  函数名g不能变动,而变量f可以被重新赋值
  函数名g只能在函数体内部被使用,试图在函数外部使用g会报错的

2 delete 删除问题

(function(x){
  delete x;
  return x;//1
})(1);
delete操作符可以从对象中删除属性,正确用法如下:

delete object.property

delete操作符只能作用在对象的属性上,对变量和函数名无效。也就是说delete x是没有意义的。

另外,delete是不会直接释放内存的,只是间接的中断对象引用

posted @ 2017-03-28 13:36  a fine day  阅读(227)  评论(0)    收藏  举报