JX 是模块化的非侵入式Web前端框架,开发于2008年,并于2009年开源于GoogleCode - http://code.google.com/p/j-et/,于2012年切换到Github,开始我们开源计划的新征途,请记住我们的最新开源地址:https://github.com/AlloyTeam/JX,欢迎访问我们的团队Blog - http://www.alloyteam.com/2012/06/jx-framework/,谢谢大家来支持^_^。
JX 框架同时适用于 Web Page 和 Web App 项目的开发,特别适合构建和组织大规模、工业级的Web App,腾讯 WebQQ -http://web.qq.com、腾讯 Q+ http://www.QPlus.com 等产品都是采用JX框架开发,兼容目前所有主流浏览器。
JX 是 Javascript eXtension tools 的缩写,即 Javascript 扩展工具套件的意思。
保持最优的执行效率
保持 Javascript 原有的代码风格,降低学习难度
不做任何的过度封装
更好的组织工业级 Javascript 应用程序
探索在前端使用 MVP、MVC 等模式来构建大型 WebApp
探索工业级 Javascript 的开发技术
微内核设计:内核可完全分离出来,用于构建其他的框架
原生对象零污染:你懂的,随着js的App越来约复杂,对原生对象的零污染也体现的越来越重要了
模块封包:采用命名空间、闭包等方式建立了模块封包的体系,帮助更好的组织海量js代码
模块自由拼装:自身模块做了良好的架构分离,尽可能让各个模块之间可以自由的拼装组合
无缝集成各种js框架:与jQuery, YUI, Mootools, Prototype.js 等框架无缝集成;与多种局部框架无缝集成,如:Mini, Sizzle, cssQuery, xpath, JSON 等等
多版本共存:如采用的Jx版本过旧,旧有的Javascript代码不能与新版本Jx兼容,则可以采用多版本共存的方式保持程序的可延续性
分层设计:Javascript核心层,与Javascript解释引擎无关的封装和扩展;浏览器端Javascript层,对浏览器中的Javascript引擎部分的封装和扩展
JX 代码组织方式一(传统):
var J = new Jx(); J.out(J.version);
JX 代码组织方式二(推荐):
Jx().$package(function(J){ J.out(J.version); });
CheatSheet:http://alloyteam.github.com/JX/doc/jx_cheatsheet.html
代码规范:http://alloyteam.github.com/JX/doc/specification/google-javascript.xml
第一层:Core Javascript 扩展模块 / 代码组织模块(可用于NodeJs等其他js引擎,轻松组织大型应用,无缝接入其它js库)
第二层:Browser Javascript 扩展模块(跨浏览器,基础封装) / 可选模块(设计模式相关模块,选择器模块…)
第三层:UI 组件 / 实时动画模块 / 游戏引擎模块
核心底层 - 纯Js底层功能封装/代码组织/无缝接入其它js库 – [完成]
基础扩展 - 跨浏览器封装/工具函数/设计模式相关 – [完成]
UI 基础控件 - 按钮/面板/窗口/树形列表/Tab/lightbox/widgets…
实时动画系统 - 实时定时器/关键帧动画/加速度公式/物理引擎/声音控制器…
游戏引擎 - 角色控制/地图系统/游戏异步通讯系统/寻路算法/键盘控制/人工智能/…
不要重复自己(Don’t Repeat Yourself) 业界已经有很多优秀的局部框架,比如JSON、Mini Selector Engine、SWFObject、
感谢团队每一位成员做出的努力,有你我们会更精彩!
Tencent Alloy Team 2012
Python简介 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。 Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。 Python 是交互式语言: 这意味着,您可以在一个 Python 提
一面-8.23-60min 1.上来写两个题 (1)版本号比较 (2)最长连续子序列 2.问实习经历 3.部署一个项目的流程 4.说一下DNS的查询流程,说一下递归查询和迭代查询的过程 5.如何优化页面渲染性能 6.React生命周期 7.说一下Monorepo架构的优势 8.反问 部门业务,技术栈 二面-8.25-30min 全程问实习经历和校园经历,比较偏拷打的问法,如果是纯业务的内容,他会直
时隔两年,腾讯笔试又满分了。 第一题,两处的todo是获取节点,getElementById和getElementsByClassName,想不起来api名称可以控制台输一下,其他三处todo模仿对应的实例就可以了,只是数值和元素做一定改动。 第二题,一个往大了整一个往小了整,两个index记录头尾索引,对比头尾大小就ok了。 第三题,忘了,好像有点简单。 第四题,数组展开,然后创建一个空对象,遍
这个时间点一面应该是被捞了 但是感觉也是kpi面,都是比较简单的问题,记几个还有印象的 1.js闭包以及闭包应用场景,闭包存在的问题 2.垃圾回收机制 3.vue的mvvm 4.手撕数组去重 5.手撕大数相加 其他的: 你觉得你几天可以上手react 有些难度的项目你可以多久上手
一面 1丶算法 版本号比较 深拷贝(存在循环引用也要拷贝出来,weakmap出现>2就终止递归) 2丶登陆方案,jwt和cookie比较 session存在哪,为什么存redis,除了并发量和读取速度的考虑还有什么。token存哪,如果存vuex刷新还存在吗。 3丶让你实现一个通用级联框组件且带权限判断,你有什么思路(不会,有没有佬说一下)。面试官追问你如何让嵌套的多层组件获取到权限判断的信息(
1.用户从浏览器输入地址到渲染整个过程 2.dns域名解析过程 3.https为什么比http安全 4.http2.0新特性 5.前端开发防范哪些网络攻击 6.前端什么方法让页面打开速度变快 7.项目难点 感觉被kpi了,电话联系的,十五分钟结束战斗,全答上来,第二天直接寄#软件开发2024笔面经#
一共才40分钟 有没有比我更短的。。 自我介绍 然后问项目 项目真的是弱点啊…实习的时候基本都复制粘贴 也不记得遇到啥困难 总不能说靠CSDN解决的吧 上来先是两道算法 合法括号和找不重复等于0的三元组 都比较简单 然后就问了两个问题 cookie和session的使用场景 get和post的区别 就没了。。。估计看我答得不太好没兴趣问了 啊啊啊啊啊啊啊
前端最吸引你的地方的的是什么 你认为前端有哪些地方比后端难 浏览器事件执行机制,浏览器是怎么实现这个机制的 基本数据类型有哪些,复杂数据类型有哪些 js继承怎么实现的,除了原型链继承还有哪些,原型链和类继承的区别是什么 线程和进程的区别是什么,为什么游览器使用单线程 请求拦截器和响应拦截器是一种什么样的设计模式 你知道axios底层是怎么实现的吗 发出请求到收到回包整个浏览器执行了什么或者是网络层
1.实习经历拷打,业务痛点,为什么计划关联人,而不是人关联计划,返给后端的是什么.... 2.xss攻击 3.大文件上传 4.rem适配怎么实现,libflexilble作用 5fcp,lcp怎么计算 6接触过什么后端语言 7为什么选前端,学习路径,看了什么书,看书有什么收获 8vue2.3区别,proxy的缺点,兼容性不好,如何兼容低版本浏览器,我说用babel转成es5,反问你确定真的可以吗