了解javascript的hasOwnProperty()方法如何评估参数

时间:2015-10-09 19:18:24

标签: javascript

我是javascript的新手,需要检查嵌套属性。有人告诉我,我可以使用.hasOwnProperty()方法。我如何区分属性为 myVar变量的值,或者属性名称实际上是对象中的myVar?在进入hasOwnProperty()之前,是否需要将myVar的内容提取为字符串?所以基本上,hasOwnProperty()总是评估字符串的参数吗?

 if(main_hash.query.filtered.query.hasOwnProperty(myVar)){
      // do stuff
 }

提前谢谢你。

1 个答案:

答案 0 :(得分:1)

hasOwnProperty不会测试每个人的值。它测试对象上是否存在属性。

$posts= Post::whereHas(
         'comments', function ($q) {
             $q->select(DB::raw("DATE_FORMAT(created_at,'%Y-%m-%d %H:%i:%s')"),'post_id',DB::raw('count(*) as cmt_count'))
             ->whereRaw('`comments`.`created_at` BETWEEN NOW()-INTERVAL 8 DAY AND NOW()')
                 ->groupBy('post_id');

         })
         ->take(5)->get();

这将返回true,因为该属性存在于对象上。我相信它总是需要属性名称的字符串值。

等效地执行此操作是相同的:

var test = {
    someproperty: ''
};

test.hasOwnProperty('someproperty');