js全端

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不知道实体到底是什么,它只关心组件集合的小切片

原文地址:https://www.cnblogs.com/honghong87/p/10187169.html