文章列表
杨文坚 ,首席吹牛工程师 于 1年前发表 3907 1 0
The only limits in our life are those we impose on ourselves. 弱爆的 ES6 IN BROWSER 注意是在浏览器,怎么弱法?简单的说: 几乎是语法糖, async function 这些很有用的东西要依赖一个巨型 Polyfill 才可使用。
1年前
javascript技术
黄龙 于 1年前发表 1940 0 0
[http://7tszky.com1.z0.glb.clouddn.com/Fnk4MUtkey-yq61uJk2NGs52UkHs] 什么是AS3JS? AS3JS是ActionScript 3.0到JavaScript的转换器,它基本上可以让你使用ActionScript 3.0语言编写客户端和服务器端JavaScript应用程序。AS3JS是不是一个框架。此工具也没有设计成用于转换的Flash到HTML5解决方案(虽然它可能会帮助!)。现在AS3JS纯粹是转换器,但是你可以自由的扩展它,如果你愿意,因为它是开源的。 github项目地址: https://github.com/cleod9/as3js [https://github.com/cleod9/as3js] 它是如何工作的? AS3JS通过正则表达式解析ActionScript类文件,并将它们转换成JavaScript可以理解的文本。这意味着所有的AS3特定关键字会被去除,以及将代码重新组织成可在一个JS环境中运行的单个文件。
1年前
javascript技术
link ,除了分享,也是知识管理。 于 1年前发表 1227 0 0
介绍几种使用javascript实现斐波那契数列的方法。 其中第一种和第二种都是使用递归:(可优化,应该将每一个元素的值缓存起来,而不是每次递归都计算一次) //with Recursion functionfibonacci1 (argument) { // body...return (argument <= 1 ? argument : fibonacci1(argument - 1) + fibonacci1(argument - 2)); } window.console.log(fibonacci1(10)); functionfibonacci2 (argument) { return (argument <= 1 ? argument : arguments.callee(argument - 1) + arguments.callee(argument - 2)); } window.console.log(fibonacci2(10));
1年前
javascript技术
ouven ,https://ouvens.github.io/ 于 1年前发表 8122 0 0
ES6标准发布后,前端人员也开发渐渐了解到了es6,但是由于兼容性的问题,仍然没有得到广泛的推广,不过业界也用了一些折中性的方案来解决兼容性和开发体系问题,但大家仍很疑惑,使用ES6会有哪些兼容性问题。 一、兼容性问题现状 针对ES6的新特性兼容性问题,目前解决的方案是使用语法解析转换工具将es6语法转化为大部分浏览器识别的es5语法,通用的转化方案有babel,traceur,jsx,typescript,es6-shim。当然es6在服务器端也存在兼容性问题,这里由于只考虑到浏览器端的开发,暂不讨论。下面有一些常用的解决方案和兼容es6的兼容性比较~ https://github.com/babel/babel/issues/596 [https://github.com/babel/babel/issues/596] (es6的兼容解决方案很多,这里只讨论最常用的几种) http://kangax.github.io/compat-table/es6/ [http://kangax.github.io/compat-table/es6/]
1年前
javascript技术
json 于 1年前发表 3269 2 1
作用域不同 * ES6中,let和const实际上为JavaScript新增了块级作用域,函数本身的作用域,在其所在的块级作用域之内。 * let和const的用法相同点:(1)用来声明变量 (2) 声明的变量只在它所在的代码块有效 (3) 不像var那样,会发生“变量提升”现象,只要块级作用域内存在let或const命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。 (4)不允许在相同作用域内,重复声明同一个变量 不同点:const也用来声明变量,但是声明的是常量。一旦声明,常量的值就不能改变。let声明的变量可以改变。 * 全局对象。 ES6规定,var命令和function命令声明的全局变量,属于全局对象的属性;let命令、const命令、class命令声明的全局变量,不属于全局对象的属性,无法通过window/global获取。 变量的解构赋值
1年前
javascript技术
devinran ,唯封建与迷信难养也 于 1年前发表 4697 5 3
在最初的六天,我创造了天与地 webGL 是基于 OpenGL 的Web3D图形规范,是一套JavaScript的API。简单来说,可以把它看成是3D版的 canvas 。恩,你会这样引入canvas对吧: canvas = document.getElementById("xxx"); ctx = canvas.getContext("2d"); SO,3D版本的就酱: canvas = document.getElementById("xxx"); gl = canvas.getContext("experimental-webgl"); 是的,webGL直接使用canvas元素,只是引入一个不同的上下文“ experimental-webgl ”,方便吧。 这里的上下文实际上应该是.getContext("webgl"),但由于现在webgl标准尚未完善,所以多数浏览器采用一个“试验性”的上下文 让我们先啰嗦一些玩意儿 3D坐标系 [http://7tszky.com1.z0.glb.clouddn.com/FsJGJz-KF4wl30j2y8-tet8cSbRx]
1年前
javascript技术
coverguo 于 1年前发表 3980 5 3
在业务中,页面滚动的场景十分常见, 因此对于滚动的充分了解,可以让我们提高开发的效率! 滚动的几种场景 * 只有window窗体滚动 * 内滚动布局 * 窗体滚动+DIV内滚动 这时候,台下观众会问,什么是内滚动布局,什么是window滚动呢? 让我们来了解下哈 只有WINDOW窗体滚动 即页面只含有浏览器窗体默认的滚动条,窗体滚动条随页面内容而不断增长。 如手Q吃喝玩乐的站点首页, 在 android机 上就是使用window滚动 [http://7tszky.com1.z0.glb.clouddn.com/Fip_ikOJPGeTWIUSzzwfRLqpLAJL] 内滚动布局 什么是内滚动布局呢? 个人认为,内滚动布局就是主滚动条是在页面内部,而不是浏览器窗体上的布局。 故内滚动布局是相对传统的window窗体滚动而言的。 (具体为什么ios上和android上会使用不同的滚动方式,可以去了解下=。=) 内滚动布局什么时候会使用了? * ios 页面顶部带有fixed输入框(解决软键盘弹出导致页面错位的问题) 例如,手Q吃喝玩乐的站点首页, 在 ios机 上便是内滚动布局
1年前
javascript技术
黄龙 于 1年前发表 2409 2 0
PEG.JS可以做什么? PEG.js 是一个JavaScript的表达式语法解析器,它使您能够轻松地建立复杂的数据或计算机程序语言的快速分析器。 安装 Node.js npm install -g pegjs Browser bower install pegjs 生成解析器 pegjsxxx.pegjs 文法定义和语义 上面的都没有什么卵用。我们能拿它来干啥?写一个简单的lambda表达式练手吧 lambda = left:exp1"=>"right:exp2 { returnnew Function(left,"return "+right);} var "变量" = strs:[a-zA-Z0-9]+ { returntext(); } exp1"左侧表达式" = var ("," var)* {returntext();} exp2"右侧表达式" = .+ {returntext();} 保存为lambda.pegjs pegjslambda.pegjs 就会生成一个lambda.js的文件 在node里面我们就可以这样使用它
1年前
javascript技术
九月 ,这... 于 1年前发表 1712 0 0
计算机处理时间一直都是以时间戳的方式进行的, 并且以 格林尼治时间 1970/1/1 0:0:0 开始计算的: var date = new Date(0); date.toString() // Thu Jan 01 1970 08:00:00 GMT+0800 (中国标准时间) date.toGMTString() // Thu, 01 Jan 1970 00:00:00 GMT date.toUTCString() // Thu, 01 Jan 1970 00:00:00 GMT 时间的格式化在前端是再正常不过的需求了, 所以会有类似的实现: function formatDate(pattern, date) { date = new Date(date); function formatNumber(data, format) { data = data || 0; format = format.length;
1年前
javascript技术
张颖 ,认真认真 于 1年前发表 3360 7 0
前言 个人感觉ECMAScript 6总体上来说:添加了块级作用域,增加了一些语法糖,增强了字符串的处理,引入Generator函数控制函数的内部状态的变化,原生提供了Promise对象,引入了Class(类)的概念,并且在语言规格的层面上实现了模块功能。 注: 1、ES6的支持性可以查看: http://kangax.github.io/compat-table/es6/ [http://kangax.github.io/compat-table/es6/] 2、Google V8引擎已经部署了ES6的部分特性,使用Node.js 0.12版,可以试验这些特性。 3、使用Traceur转码器、Babel转码器等可以将ES6方式编写的程序转为ES5代码。 一、LET和CONST命令 1.1 块级作用域 一个花括号{}代表一个块级作用域,作用域嵌套时外层代码块不受内层代码块的影响,立即执行匿名函数(IIFE)原本的作用是为了形成局部作用域,防止变量污染,块级作用域的的出现使得获得广泛应用的立即执行匿名函数不再必要了。 需要注意:
1年前
javascript技术