微信小游戏开发之JS面向对象
//游戏开发之面向对象
//在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面向对象的更多相关文章
- 微信小程序开发之formId使用(模板消息)
基于微信小程序的模板消息:基于微信的通知渠道,我们为开发者提供了可以高效触达用户的模板消息能力,以便实现服务的闭环并提供更佳的体验.模板推送位置:服务通知模板下发条件:用户本人在微信体系内与页面有交互 ...
- 微信小程序开发之picker
一.绑定简单数组 通过bindChange控制index,使得当前选择值发生改变 示例1 data: { Data: ['A','B'], Index: 0, }, <picker class= ...
- 微信小程序开发之scroll-view
本文主要介绍通过scroll-view实现回至顶部,如下效果 一.页面代码 顶部的工具栏放一个查找按钮,滚动区域实现分页,目的就是为了点击上一页\下一页时,自动回到顶部. scroll-view必须指 ...
- 微信小程序开发之picker选择器组件用法
picker组件时一个从底部弹起的可滚动的选择器(嵌入页面滚动器组件picker-view查看https://mp.weixin.qq.com/debug/wxadoc/dev/component/p ...
- 微信小程序开发之https从无到有
本篇不讲什么是https,什么是SSL,什么是nginx 想了解这些的请绕道,相信有很多优秀的文章会告诉你. 本篇要讲的在最短的时间内,让你的网站从http升级到https. 开始教程前再说一句:ht ...
- 微信小程序开发之https服务器搭建三步曲
本篇文章主要讲述3个方面的内容,如下: 1.SSL证书的获取 2.服务器 Nginx SSL 证书的配置. 3.如何兼容80端口和443端口以及为什么要同时兼容这两个端口. 1.SSL证书的获取 ht ...
- 微信小程序开发之http到https的转化
小程序从公布到现在已经过去好几个月了,本来从小程序发布出来就准备抱着微信的大腿进行一波小程序开发的,但是由于公司项目小程序暂时不支持,也就只能一直搁浅.过年过来偶然和朋友谈起小程序,觉的工作再忙也得找 ...
- 微信小程序开发之IOS/Android兼容坑(持续更新)
一.时间转换问题: 这不只是小程序上面的问题是ios系统 都有这个问题就是new Date("2017-06-16") 在IOS会出现NAN的情况所以对于时间转换需要另行封装,解 ...
- 微信小程序开发之tab导航栏
实现功能: 点击不同的tab导航,筛选数据 UI: js: data:{ navbar: ['半月维保', '季度维保', '半年维保',"年度维保"], //count ...
随机推荐
- JavaScript:原生JS实现Facebook实时消息抓捕
基础知识准备: HTML5给我们提供了一个新的对象叫作:MutationObserver.为了兼容,还有WebKitMutationObserver.MozMutationObserver,挂靠在wi ...
- 限制访问次数例子和Ajax的some
-- 限制访问次数作业解答 -- -- urls.py 里-- from django.conf.urls import url from django.contrib import admin fr ...
- Java学习技术分享:Java中的原子操作
学习java需要有一套完整的学习线路,需要有条理性,当下学习java已经有一段时间了,由当初的懵逼状态逐渐好转,也逐渐养成了写技术学习笔记的习惯,今天总结了一下java中的原子操作. 1.Java中的 ...
- Spring Boot REST API 自动化测试
Spring Boot需要写大量的Junit代码来测试REST API, 这点让不了解代码的人很头疼.如果使用REST client工具测试REST API,很多REST Client工具是不支持自动 ...
- Java五大框架
2017-6-13 Lifusen 此文章仅代表个人观点,如有问题提出请联系Q:570429601 1.Hibernate (开放源代码的对象关系映射框架) Hibernate是一个开放源代码的对象关 ...
- JavaScript笔记 #05# 用Regex辅助生成文章目录
PS. 用来生成个人笔记的目录 1.输入:html文本 <h2>Notes</h2> <p>1.小标题1.正文正文正文</p> <div clas ...
- postman5.0.2_0+postmanInterceptor0.2.22_0下载安装,可发送header头 cookie 参数
Postman是chrome上一个非常好用的http客户端插件,可惜由于chrome安全的限制,发不出带cookie的请求.如果想要发送带cookie的请求,需要开启Interceptor 安装方法: ...
- be动词
编辑 讨论 be动词,意思和用法很多,一般的意思是:是,此种用法,有多种变化形式,is,am,are,was,were,being,been,to be.另外,be动词还有成为的意思.根据句子中不同的 ...
- python之块包导入
一.模块 1.什么是模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写 ...
- 【题解】Luogu P2147 [SDOI2008]洞穴勘测
原题传送门 这题用Link-Cut-Tree解决,Link-Cut-Tree详解 我不太会踩爆Link-Cut-Tree的并查集做法qaq 我们用Link-Cut-Tree维护连通性(十分无脑) Co ...