//游戏开发之面向对象
//在js的开发模式中有两种模式:函数式+面向对象
//1.es5
// 拓展一:函数的申明和表达式之间的区别
// 函数的申明:
// function funA(){
//
// }
// 表达式的写法:(推荐)
// let funB=function(){
//
// }
// 区别在于表达式的写法是会变量的提升!在执行的时候会要去合适的判断才执行
// callback&&callback() // (function () {
// //所要执行的......
// })()
// 1.最简单的创建对象的:(单一)
// var obj=new Object();
// var obj={}
//
// obj.name="xie";
// obj.age=21;
// obj.say=function(){
// console.log(this.name+this.age);
// }
// 2.工厂化构造函数创建(拥有共同的方法)
var Animal=function(name,age) {
this.name=name;
this.age=age;
this.say=function(){
console.log(this.name+" "+this.age);
}
}
//原型链对象 实例共享属性
Animal.prototype.say=function(){
console.log(this.name+""+this.age);
}
var cat=new Animal("小狗","3")
cat.say();
// 方法被其他对象执行
var params={
name:'小猫',
age:4,
}
//cat的say方法被params这个对象调用,并且采用params的参数
apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性.
Function.apply(obj,args)方法能接收两个参数
obj:这个对象将代替Function类里this对象
args:这个是数组,它将作为参数传给Function(args-->arguments)
/*定义一个人类*/
3 function Person(name,age)
4 {
5 this.name=name;
6 this.age=age;
7 }
8 /*定义一个学生类*/
9 functionStudent(name,age,grade)
10 {
11 Person.apply(this,arguments);
12 this.grade=grade;
13 }
14 //创建一个学生类
15 var student=new Student("qian",21,"一年级");
16 //测试
call示例
在Studen函数里面可以将apply中修改成如下:
Person.call(this,name,age);
cat.say.apply(params) ES6:
class Animal{
constructor(name="",age=1){
this.name=name;
this.age=age;
}
say(){
console.log(this.name+this.age);
}
}
class Cat extends Animal{
constructor(name,age){
super(name,age);
}
//覆盖父类的方法
say(){
//想要执行父类的方法
super.say();
}
}

微信小游戏开发之JS面向对象的更多相关文章

  1. 微信小程序开发之formId使用(模板消息)

    基于微信小程序的模板消息:基于微信的通知渠道,我们为开发者提供了可以高效触达用户的模板消息能力,以便实现服务的闭环并提供更佳的体验.模板推送位置:服务通知模板下发条件:用户本人在微信体系内与页面有交互 ...

  2. 微信小程序开发之picker

    一.绑定简单数组 通过bindChange控制index,使得当前选择值发生改变 示例1 data: { Data: ['A','B'], Index: 0, }, <picker class= ...

  3. 微信小程序开发之scroll-view

    本文主要介绍通过scroll-view实现回至顶部,如下效果 一.页面代码 顶部的工具栏放一个查找按钮,滚动区域实现分页,目的就是为了点击上一页\下一页时,自动回到顶部. scroll-view必须指 ...

  4. 微信小程序开发之picker选择器组件用法

    picker组件时一个从底部弹起的可滚动的选择器(嵌入页面滚动器组件picker-view查看https://mp.weixin.qq.com/debug/wxadoc/dev/component/p ...

  5. 微信小程序开发之https从无到有

    本篇不讲什么是https,什么是SSL,什么是nginx 想了解这些的请绕道,相信有很多优秀的文章会告诉你. 本篇要讲的在最短的时间内,让你的网站从http升级到https. 开始教程前再说一句:ht ...

  6. 微信小程序开发之https服务器搭建三步曲

    本篇文章主要讲述3个方面的内容,如下: 1.SSL证书的获取 2.服务器 Nginx SSL 证书的配置. 3.如何兼容80端口和443端口以及为什么要同时兼容这两个端口. 1.SSL证书的获取 ht ...

  7. 微信小程序开发之http到https的转化

    小程序从公布到现在已经过去好几个月了,本来从小程序发布出来就准备抱着微信的大腿进行一波小程序开发的,但是由于公司项目小程序暂时不支持,也就只能一直搁浅.过年过来偶然和朋友谈起小程序,觉的工作再忙也得找 ...

  8. 微信小程序开发之IOS/Android兼容坑(持续更新)

    一.时间转换问题: 这不只是小程序上面的问题是ios系统 都有这个问题就是new  Date("2017-06-16") 在IOS会出现NAN的情况所以对于时间转换需要另行封装,解 ...

  9. 微信小程序开发之tab导航栏

    实现功能: 点击不同的tab导航,筛选数据 UI:   js: data:{ navbar: ['半月维保', '季度维保', '半年维保',"年度维保"],    //count ...

随机推荐

  1. golang学习笔记13 Golang 类型转换整理 go语言string、int、int64、float64、complex 互相转换

    golang学习笔记13 Golang 类型转换整理 go语言string.int.int64.float64.complex 互相转换 #string到intint,err:=strconv.Ato ...

  2. 51Nod 1433 0和5

    小K手中有n张牌,每张牌上有一个一位数的数,这个字数不是0就是5.小K从这些牌在抽出任意张(不能抽0张),排成一行这样就组成了一个数.使得这个数尽可能大,而且可以被90整除. 注意: 1.这个数没有前 ...

  3. 使用Selenium+firefox抓取网页指定firefox_profile后的问题

    from: https://blog.csdn.net/chufazhe/article/details/51145834 摘要:在使用selenium和firefox抓取网页指定firefox_pr ...

  4. MySQL5.7 忘记root密码,怎么破?

    MySQL5.7 忘记root密码,怎么破? 关服 # kill $mysql_pid 免密启动 # /usr/local/mysql57/bin/mysqld_safe --defaults-fil ...

  5. Java Thread.yield详解

    这是Java中的一种线程让步方法,让Java中的线程从执行状态变成就绪状态,然后处理器再从就绪队列中挑选线程进行执行(优先级大的,被挑选的概率较大),这种转换也不确定,让或者不让都是取决与处理器,线程 ...

  6. php 版本号 整数化 mysql存储入库 比较大小【版本处理类,提供版本与数字互相转换】

    下载地址:https://download.csdn.net/download/a724008158/10659015

  7. fjwc2019 D1T3 不同的缩写(dinic+trie+dfs)

    #180. 「2019冬令营提高组」不同的缩写 乍看之下没有什么好的方法鸭.......于是考虑暴力. 长度?二分似乎可行. 于是我们二分最长子串的长度(设为$len$),蓝后暴力查找. 先在每个串内 ...

  8. 配置使用 git 秘钥连接 GitHub

    配置使用 git 秘钥连接 GitHub 在Linux下部署Git环境 1.安装Git. 使用命令安装 git . sudo apt-get install git 2.创建一个 Github 账号 ...

  9. KPI 私有CA

    openssl总结及私有CA的搭建 搭建CA服务器 CA(证书颁发机构)服务器配置图解过程(1) 私有CA服务器的搭建 搭建CA服务器 使用OpenSSL搭建CA Linux加密和解密.openssl ...

  10. 一图解释PHPstorm代码片段设置---附官方文档(转)

    参考:https://blog.csdn.net/thinkthewill/article/details/81145106 资料 设置片段[官方设置教程] 设置变量对话框[官方设置教程] phpst ...