javascript 函数添加属性的一点疑问

fcxh
  • 434

function fun(){
    fun.a = 1;
}
console.log( fun.hasOwnProperty("a") ); // false;

结果为: false


function fun(){

}
fun.a = 1;
console.log( fun.hasOwnProperty("a") ); // true;

结果为: true

两者区别是什么?

回复
阅读 2.6k
2 个回答

函数定义了不调用,再好的戏也出不来。
第一个你调用一次也true:

fun();
console.log( fun.hasOwnProperty("a") );

函数体内的代码,只有你在调用函数时才会执行。你只是定义了函数,而没有调用它,怎么可能起作用?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏