{"size": 873, "ext": "js", "max_stars_repo_path": "src/arrow-funcs-and-this.js", "max_stars_repo_name": "ailijic/snippets-mongoose", "max_stars_repo_stars_event_min_datetime": null, "max_stars_repo_stars_event_max_datetime": null, "max_issues_repo_path": "src/arrow-funcs-and-this.js", "max_issues_repo_name": "ailijic/snippets-mongoose", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "src/arrow-funcs-and-this.js", "max_forks_repo_name": "ailijic/snippets-mongoose", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": null, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 18.1875, "max_line_length": 41, "alphanum_fraction": 0.6323024055}
console.log('Hello World')

// console.log(this);
// console.log(global);

var that = this

notStrict()
function notStrict () {
  var name = 'Tim'
  var that2 = this
  console.log('name: ', name)
  console.log('Not a strict function')
  console.log(this)
  console.warn(this === that)
  notstrictCall()
  function notstrictCall () {
    console.log('inside notstrictCall()')
    // console.log(name)
    console.log(that)
    console.log(that2)
  }

  var arrowFunc = () => {
    console.log(name)
    console.log(this)
    console.log(that)
    console.log(that2)
  }
  arrowFunc()
}

strict()
function strict () {
  'use strict'
  var name = 'Jon'
  var that2 = this
  console.log('name: ', name)
  console.log(this)
  strictCall()
  function strictCall () {
    console.log('inside strictCall()')
    console.log(name)
    console.log(that)
    console.log(that2)
  }
}
