文章列表
json 于 1年前发表 3169 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年前发表 4496 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年前发表 3819 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年前发表 2303 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年前发表 1653 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年前发表 3219 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技术