贪吃蛇

作者: 大庆无疆 | 来源:发表于2019-03-07 17:11 被阅读0次

函数也是对象
任何函数也有prototype属性,我们说只有对象才有属性和方法,所以函数也是对象,函数还有bind()方法和call()方法

函数中的bind()方法,可以改变this的指向 ,创建并返回一个新函数

call()方法,可以改变this的指向,与bind()不同的是他直接调用了函数

// 常见的错误,要注意一下
//声明一个对象
var dx = {
    a: 123,
    method: function () {
        console.log(this.a);
    }
}
// 调用方法
dx.method();//输出123
//将方法赋给其他变量
var other = dx.method;//这里不是调用method方法,注意
other();//输出undefined,因为other里面的this指向的是window
/*
上面的other = dx.method相当于
function other() {
    console.log(this.a);//函数中的this指向的是window
}

*/

下面要介绍我们的bind方法了,他的作用是创建并返回一个新的函数,第一个参数可以改变this的指向,如果函数还需要其他参数,可以继续在bind()里继续传
other = other.bind(dx);//将之前this指向的window改为dx
other();//此时输出的是123,因为上面我们使用bind()改变了this的指向

//-------------------------------call()---------------------------------
//call()可以改变this的指向,并调用函数
function fn() {
    console.log(this);//此时this指向的是window
}
//创建一个对象
var o = {
    name: 'o'
}

//直接调用函数;
fn();//输出的是window
// 使用call()方法
fn.call(o);//此时输出的是o对象

关于自调用函数

1、需要在自调用函数前面加分号,后面不用加
2、我们在看别人优秀代码的时候发现有给自调用函数传入参数(window, undefined)
(1)自调用函数传入 window的目的,是让变量名可以被压缩
(2) 在老版本的浏览器中 undefined 可以被重新赋值

;(function (window, undefined) {
  var Tools = {
    getRandom: function (min, max) {
      return Math.floor(Math.random() * (max - min + 1)) +  min;
    }
  }
  // 暴露Tools给window
  window.Tools = Tools;
})(window, undefined)

相关文章

  • 贪吃蛇巴士 for Mac(休闲街机游戏) v0.1

    贪吃蛇巴士(snakeybust)是将经典街机游戏“贪吃蛇”用现代图形来展现的休闲街机游戏。贪吃蛇巴士Mac版游戏...

  • 贪吃蛇背后的故事

    贪吃蛇介绍 贪吃蛇最先出现于1976年,是Gremlin平台推出的一款经典街机游戏Blockade。贪吃蛇(也叫做...

  • 贪吃蛇大结局

    童年的回忆,贪吃蛇大结局,看一下贪吃蛇最后变成了什么?

  • JS-进阶-Day2

    贪吃蛇案例:

  • 贪吃蛇

    js 贪吃蛇代码

  • 我的贪吃蛇

    最近一直在玩一个游戏――贪吃蛇大作战,为此,耗费我不少时间。 我给我的贪吃蛇命名:我的贪吃蛇wr,后面wr是我名字...

  • 萌萌小蛇蛇

    这绝对是一个会令你振奋的贪吃蛇游戏,支持多人在线的贪吃蛇游戏。好好想想,你是否已经腻歪了单纯的吃食物变长的贪吃蛇游...

  • 一只贪吃蛇的自白

    我是一只贪吃蛇,想必大家都玩儿过贪吃蛇的游戏,那里面的贪吃蛇吃的东西越多,身体就越长,最后把自己给弄死了。我跟他们...

  • 2017-06-03

    贪吃蛇啊, 贪吃蛇, 你贪吃的是你的食物, 我贪吃的是对世间的留恋, 美女, 金钱, 路上的风景……

  • Web前端------JS高级贪吃蛇游戏案例(主要内容:原型)

    贪吃蛇案例思想总结 贪吃蛇游戏主要包括:地图对象、蛇对象、食物对象、游戏对象(控制游戏执行、操控小蛇和食物对象),...

网友评论

      本文标题:贪吃蛇

      本文链接:https://www.haomeiwen.com/subject/rfwcpqtx.html