js是世界上最好的语言之一,或许可以不用加之一

我是个js游戏前端开发者,但是我不局限于只是开发h5游戏,微信小游戏...

js很强大很强大很强大,没有哪种语言能通吃,除了js. 网页, app, 服务器, 数据库等等都可实现.

我最钟意的编辑器vscode, 就是用js开发的.

一个好汉三个帮,只是纯用js毕竟是有限的,借助其html+css+chrome就能发挥强大的功效

----------------------------浏览器相关---------------------------------------------------------------------------------

  强制缓存   cache-control还有另外几个值可以设置

  • private 客户端可以缓存
  • public 客户端和代理服务器都可以缓存
  • max-age=60 缓存内容将在60秒后失效
  • no-cache 需要使用对比缓存验证数据,强制向源服务器再次验证
  • no-store 所有内容都不会缓存,强制缓存和对比缓存都不会触发

  CORS 服务端设置 Access-Control-Allow-Origin

JSONP 的原理很简单,就是利用 <script> 标签没有跨域限制的漏洞。通过 <script> 标签指向一个需要访问的地址并提供一个回调函数来接收数据当需要通讯时。

      JSONP 使用简单且兼容性不错,但是只限于 get 请求。
  <script src="http://domain/api?param1=a&param2=b&callback=jsonp"></script>
  <script>
  function jsonp(data) {
  console.log(data)
   }
  </script>

----------------------------css相关---------------------------------------------------------------------------------------

  1. css的关键是div,会了div,就会了css. 比较类似于游戏引擎中的精灵(例如pixi.js中的sprite)
  2. nav 是html5新增的标签,主要用于制作导航( navigate)菜单。其实它本身是没有什么特殊性的,用div也一样可以,但它具有语义性,可以增加代码的可读性,如果一个html文档中全部是div标签,时间一长,别说是别人,就连编写者自己如果没加注释都可能分不清哪个是哪个了。而用了nav就不同了,啥时候一看,即使英文再差也大概知道它与导航有关。html5新增的那些标签如section、header、footer、article等基本上都是这个作用。
  3. template元素是一种用于保存客户端内容的机制,该内容在页面加载时不被渲染,但可以在运行时使用JavaScript进行实例化
  4. @keyframes 定义动画 animation控制动画
  5. transition属性允许css的属性值在指定的时间内进行过度,也就是执行动画效果。它是以hover,focus,active等伪类作为动画触发的条件。也就是动画效果必须基础悬停,点击等事件才能触发
  6. 传统的布局:从左到右,从上到下.有很多问题
  7. flex弹性布局,打破的传统计布局的一些限制。justify-content主轴的对齐方式, align-items交叉轴的对齐方式, align-content属性定义了多根轴线的对齐方式额外空间分配(可以看成是二维的) http://www.runoob.com/w3cnote/flex-grammar.html

--------------------------javascript相关----------------------------------------------------------------------------

  1:for in与Object.keys的区别  for in 会遍历自身及继承的可枚举的属性,  引入enumerable的最初目的,就是让某些属性可以规避掉for...in操作.

2:Promise((resolve, reject)=>{}).then(resolve, reject).then...;   Promise构造函数的参数是自执行函数

3:es6输出的是值的引用,commonJS模块输出的是被输出值的拷贝

4:微信中import和require的区别?

    module.exports初始值为一个空对象{}, exports是指向module.exports的引用, require()返回的是 module.exports

5:代码打包 webpack 可以打包一切资源, browserify 是用来打包 JS 模块的

6:把字符串转化为代码 new Function();

   7:js丑化与美化 uglifyjs beautifier

------------------------html相关-----------------------------------------------------------------------------------

单页面应用,Github 上各个标题之间的跳转等,路由里的 # 不叫锚点,我们称之为 hash

------------------------手机调试-------------------------------------------------------------------------------------

qq用的是x5内核.   https://debugx5.qq.com/,        然后自己设置

--------------------------ecs-------------------------------------------------------------------------------------------

组件用来存储游戏状态并且没有任何的行为(Behavior); System有行为但是没有状态。

因为组件没有函数而System没有任何字段

System不知道实体到底是什么,它只关心组件集合的小切片

js全端的更多相关文章

  1. 2016 Web开发资源工具大搜罗

    来源于:https://zhuanlan.zhihu.com/p/22730771 作者:余博伦链接:https://zhuanlan.zhihu.com/p/22730771来源:知乎著作权归作者所 ...

  2. 2016 Web 开发资源工具大搜罗

    原文链接: 100+ Awesome Web Development Tools and Resources Web的迅猛发展对于开发者来说既是一件好事也是一件坏事.不断紧跟潮流学习新的技术.编程语言 ...

  3. 全端开发必备!10个最好的 Node.js MVC 框架

      Node.js 是最流行的 JavaScript 服务端平台,它允许建立可扩展的 Web 应用程序.Node.js 包含不同类型的框架,如 MVC 框架.全栈框架.REST API  以及大量的服 ...

  4. 【入门必备】最佳的 Node.js 学习教程和资料书籍

    Web 开发人员对 Node.js 的关注日益增多,更多的公司和开发者开始尝试使用 Node.js 来实现一些对实时性要求高,I/O密集型的业务.这篇文章中,我们整理了一批优秀的资源,你可以得到所有你 ...

  5. 【干货分享】Node.js 中文资料导航

    这篇文章与大家分享一批高质量的的 Node.js 中文资料.Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用 Node ...

  6. Sea.js创始人玉伯的前端开发之路

    在Web应用程序的用户体验越来越被重视的今天,前端开发的地位也上升到了前所未有的高度,而随之而来的也有更多的挑战. 为了将前端开发者繁重的工作变得简单,框架应运而生.国内也不乏一些非常优秀的前端开发框 ...

  7. 【开源专访】Sea.js创始人玉伯的前端开发之路

    摘要:玉伯,淘宝前端类库 KISSY.前端模块化开发框架SeaJS.前端基础类库Arale的创始人.本期[开源专访]我们邀请玉伯来为我们分享一些关于前端框架.前端开发的那些事,以及前端大牛是如何炼成的 ...

  8. PayPal为什么从Java迁移到Node.js

    前言 大家都知道PayPal是另一家迁移到Node.js平台的大型公司,Jeff Harrell的这篇博文 Node.js at PayPal  解释了为什么从Java迁移出来的原因: 开发效率提高一 ...

  9. 《.NET最佳实践》与Ext JS/Touch的团队开发

    概述 持续集成 编码规范 测试 小结 概述 有不少开发人员都问过我,Ext JS/Touch是否支持团队开发?对于这个问题,我可以毫不犹豫的回答:支持.原因是在Sencha官网博客中客户示例中,有不少 ...

随机推荐

  1. UWP MySQL 最新版 6.10.5是坏的

    #实锤#证实了,MySQL 最新版 6.10.5,在UWP平台并不能连接,是坏的 Oracle竟然没有测试吗?直接上线??? 我已经把把BUG设置为最高严重等级,提交给了官方. I'm using u ...

  2. How to create a custom action type with a custom control (BarCheckItem), associated with it

    https://www.devexpress.com/Support/Center/Example/Details/E1977/how-to-create-a-custom-action-type-w ...

  3. PowerDesigner中翻转生成PDM图时把Name属性变成注释(转)

    在pd里面运行下面这段代码'******************************************************************************'* File: ...

  4. CAN总线波形中ACK位电平为什么会偏高?

    摘要:如果CAN总线中有多个节点,在某一点测试CAN总线的波形(CANH和CANL之间)时,会发现在一帧数据的末尾ACK位的差分电平会偏高.网上有关于此问题的一些描述和解释,但孔丙火(微信公众号:孔丙 ...

  5. ffmpeg——关于视频压缩

    这篇博客主要讲有关于视频压缩的问题,解决视频文件太大,不便于下载,占用存储空间过大等问题,在缩小视频大小的同时,保证视频的观看质量.主要讲以下几点: 1.压缩视频工具ffmpeg 2.压缩视频的技术参 ...

  6. 服务治理-> Spring Cloud Eureka

    服务治理->搭建服务注册中心 服务治理可以说是微服务架构中最为核心和基础的模块, 它主要用来实现各个微服务 实例的自动化注册与发现. 为什么我们在微服务架构中那么需要服务治理模块呢?微服务 系统 ...

  7. SparkRDD编程实战

    通过spark实现点击流日志分析案例 1. 访问的pv package cn.itcast import org.apache.spark.rdd.RDD import org.apache.spar ...

  8. c++文件对齐

    头文件#include <iomanip> 关键词:setw(n),std::left,std::right 实例:输出一个0-4的12*12方阵,要求数字宽度为4,居左对齐,右下角输出出 ...

  9. Erlang数据类型的表示和实现(1)——数据类型回顾

    本文介绍 Erlang 语言中使用的各种数据类型以及这些数据类型在 Erlang 虚拟机内部的表示和实现.了解数据类型的实现可以帮助大家在实际开发过程中正确选择数据类型,并且可以更好更高效地操作这些数 ...

  10. linux 其他知识目录

    博客目录总纲首页 为博客园添加目录的方法总结 linux 命令自动补全包 手动配置网卡 nginx日志统计 Linux 深入理解inode/block/superblock /proc/sys目录下各 ...