在现代化中,这是什么javascript模式?

时间:2014-06-16 10:31:57

标签: javascript design-patterns modernizr

我刚刚浏览了http://modernizr.com/downloads/modernizr-latest.js

并遇到了第228行

_hasOwnProperty = ({}).hasOwnProperty, hasOwnProp;

有人可以告诉我这条线的含义吗?

1 个答案:

答案 0 :(得分:6)

这实际上是两个单独的变量声明。这一行是从函数的第一行开始的一个长var语句的结尾。所以它实际上相当于:

var _hasOwnProperty = ({}).hasOwnProperty;
var hasOwnProp;

第一行声明变量_hasOwnProperty并将其初始化为Object.prototype.hasOwnProperty。第二个声明变量hasOwnProp而不初始化它(后面的代码将它设置为不同的东西,具体取决于是否定义了_hasOwnProperty。)