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. Openstack入门篇(十七)之Cinder服务-->安装并配置一个本地存储节点

    怎样为块存储服务安装并配置存储节点.为简单起见,这里配置一个有一个空的本地块存储设备的存储节点.这个向导用的是 /dev/sdb,此处选用linux-node1节点作为存储节点,需要在vmware中添 ...

  2. noip2017普及题解

    https://www.luogu.org/problemnew/show/3954 https://www.luogu.org/problemnew/show/3955 https://www.lu ...

  3. TortoiseGit版本库中某个文件显示问号或叹号的问题解决办法

    这是一个怪问题,原因就是文件名大小写与版本库管理的大小写不一致. 解决办法: 1.先把文件夹中的物理文件名改为版本库浏览器中显示的文件名(版本库浏览器中的文件名不知道怎么改),改了以后这个文件图标就变 ...

  4. HALCON视觉算子相关函数中文说明System(2)

    16.6  Parameters get_system_ 功能:根据HALCON系统参数获取关于当前的信息. set_system 功能:HALCON系统参数的设置. 16.7  Serial cle ...

  5. 如何在unix系统中用别的用户运行一个程序?

    1.问题的缘由 实际开发系统的时候,经常需要用别的用户运行一个程序.比如,有些系统为保证系统安全,不允许使用root来运行.这里,我们总结了unix系统下如何解决这个问题的一些方法.同时,我们还讨论如 ...

  6. ThinkPHP3.2开发仿京东商城项目实战视频教程

    ThinkPHP3.2仿京东商城视频教程实战课程,ThinkPHP3.2开发大型商城项目实战视频 第一天 1.项目说明 2.时间插件.XSS过滤.在线编辑器使用 3.商品的删除 4.商品的修改完成-一 ...

  7. 如何寻找无序数组中的第K大元素?

    如何寻找无序数组中的第K大元素? 有这样一个算法题:有一个无序数组,要求找出数组中的第K大元素.比如给定的无序数组如下所示: 如果k=6,也就是要寻找第6大的元素,很显然,数组中第一大元素是24,第二 ...

  8. ssm-maven 所需添加的所有映射

    <dependencies> <!--Mybatis依赖--> <dependency> <groupId>org.mybatis</groupI ...

  9. textarea拖拽控制

    一.用处 textarea默认时允许用户以拖拽形式来改变textarea大小,但textarea的大小变化会撑大其父节点,有时会破坏整体布局,有时我们并不希望textarea随意拖拽. forklif ...

  10. django_models_Meta字段详解

    Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.而可用的选项大致包含以下几类 abstract 这个属性是定义当前的模型是不是一个抽象类.所谓抽象类是不会对应数据 ...