文章列表
黎清龙 于 1年前发表 991 2 0
数据字段防卫探索 这个标题不知道怎么取,估计没人看得懂,还是直接看背景吧 -_-!! 背景 某天,小Y借到一个需求:页面这里要展示一个列表,cgi数据字段是xxxlist 太简单了,几分钟的事情: DB.getData({ // ... succ: function(data) { for (var i = 0, l = data.result.xxxlist.length; i < l; ++i) { showItem(data.result.xxxlist[i]); } } }); 自测,免测发布,完美! 但是,没过多久,客服接到一堆的用户投诉,xxx页面打开白屏! 小Y吓了一跳,怎么可能,刚刚那个代码那么简单,绝对不会出错的! 用用户投诉的页面,打开控制台一看: 发现报了一个错: [http://7tszky.com1.z0.glb.clouddn.com/Fp33F0Do4j8brOAfHCWUkjTeiaIh] 排查之后发现,原因是 data.result.xxxlist 是 undefined
1年前
javascript技术
谢华良 于 1年前发表 1719 4 0
最近看了一篇文章,“30行代码实现Javascript中的MVC”,原文链接: http://www.jqsite.com/notes/1603205925.html [http://www.jqsite.com/notes/1603205925.html] ,受益良多,在此记录下学习的心得。 提到MVC,基本都会从一些框架开始,比如angularJs之类的,要在短时间内透过复杂的框架看到某一种设计模式并非是一件容易的事情。那么如何通过最简单的代码实现一个简单的MVC呢? 1. MVC的基础是观察者模式,这是实现Model与View同步的关键。 functionModel(value){ this._value = typeof value === 'undefined' ? '' : value; this._listeners = []; } Model.prototype.set = function(value){ var self = this; self._value = value;
1年前
javascript技术
link ,除了分享,也是知识管理。 于 1年前发表 5526 5 4
WHY REGULAR EXPRESSION 我们先来看看,我们干哈要学正则表达式这玩意儿: * 复杂的字符串搜寻、替换工作,无法用简单的方式(类似借助标准库函数)达成。 * 能够帮助你进行各种字符串验证。 * 不止应用于编程语言中: JavaScript、JAVA、Perl、PHP、C#... * 也应用于许多操作系统的主流指令中: Linux/Unix、Mac、Windows PowerScript 在我们常用的开发工具中,如Fiddler Willow、WebStorm、Vim,正则表达式也能帮助我们方便的进行Find>Replace的工作。 由于正则表达式的流派很多,这篇文章主要是描述JavaScript中的正则表达式。 介绍点语法 定义 所谓正则表达式,就是一种描述字符串结构模式的形式化表达方法。 这是 《精通正则表达式》 [https://book.douban.com/subject/2154713/] 对于它的定义,反正我看了这句话还是不知道正则表达式是干嘛用的,不过没关系,下面我们先来看一下JavaScript的正则表达式中一些常用的语法。 创建方式
1年前
javascript技术
forsigner 于 1年前发表 748 0 0
碎碎念 这是一篇早就应该写的文章,但是由于过年前项目紧张,一直没有时间,这个周末决定把这笔债换了。这个项目开始于两个月前,也是花了比较多时间的一个项目,不像前段时间写的 Hexo 主题 fexo [https://github.com/forsigner/fexo] ,灵感一现,两个晚上就大体出来了。这也是一个比较有意思的项目,因为它不是一个可以直接用的前端UI组件,它是一个基础UI类库,要更好的使用它,你需要再它基础上去实现一些可用的前端组件。 这个DOM元素位置引擎是什么? 说成一个引擎,实在有些装逼,其实它就是控制 DOM 元素位置的一个 JavaScript Library,在前端交互中,怎样给 DOM 元素定位是一个经常遇到的问题,所以我把可以通用的部分抽象出来,这样可以更方便的给元素定位。 这个类库我给它取名叫做 beside [https://github.com/forsigner/beside] ,意思是【在旁边】,这也是 beside [https://github.com/forsigner/beside] 的核心功能,让一个元素放置于另一个元素旁边。
1年前
javascript技术
json 于 1年前发表 1586 1 1
this是javascript语言的一个关键字。它可以是全局对象、当前对象或者任意对象,这完全取决于函数的调用方式。下面我们将按照调用方式的不同,分别讨论 this 的含义。 作为普通函数调用 functiontest(){ this.x = 1; alert(this.x); } test(); // 1 对于这个函数, this关键字指向谁呢?我们知道定义在全局的函数, 函数的所有者就是当前页面, 也就是window对象.因此我们可用通过函数名直接调用, 也可用通过window.方法名来调用, 这个时候, 方法中的this关键字指向它的所有者:window对象. 查看window对象的test属性: functiontest() { this.x = 1; alert(this.x); } console.log(window.test); /* 结果: function test() { this.x = 1; alert(this.x);
1年前
javascript技术
link ,除了分享,也是知识管理。 于 1年前发表 5486 4 3
2014年一月以来,自己接触web前端开发已经两年多了,记录一下自己前端学习路上看过的,以及道听途说的一些书,基本上按照由浅入深来介绍。 JAVASCRIPT 入门 《JavaScript权威指南(第六版)》 ★★★★★ JavaScript权威指南(第六版) [http://img3.douban.com/lpic/s8958854.jpg] 淘宝前端团队翻译的,看译者列表都是一堆大神。这本书又叫犀牛书,号称javascript开发者的圣经,网上对此书评价很多,大概意思都是说这本书是一本JavaScript文档手册,没有完整看过一遍此书的都不能算是一名合格的前端工程师。 我也是从这本书开始接触前端开发的,当时还是华章出版社的校园大使,免费申请到了这本书,可惜的是两年来我一直把它作为一本cookbook来查阅,一直没有好好通读一遍。个人感觉这本书还是写得枯燥了些,不过内容绝对是五颗星,无可挑剔! 《JavaScript高级程序设计》 ★★★★★ JavaScript高级程序设计 [http://img3.douban.com/lpic/s8958650.jpg]
1年前
javascript技术
coverguo 于 1年前发表 3260 3 1
Object.defineProperty ,顾名思义, 为对象定义属性 。在js中我们可以通过下面这几种方法定义属性 // (1) define someOne property name someOne.name = 'cover'; //or use (2) someOne['name'] = 'cover'; // or use (3) definePropertyObject.defineProperty(someOne, 'name', { value : 'cover' }) 从上面看,貌似使用Object.defineProperty很麻烦,那为啥存在这样的方法呢? 带着疑问,我们来看下 Object.defineProperty的定义。 -------------------------------------------------------------------------------- WHAT IS OBJECT.DEFINEPROPERTY
1年前
javascript技术
seagirl 于 1年前发表 1844 0 1
本文摘自同行说用户“凌风”分享的文章,原文链接: http://jiongks.name/blog/how-to-become-a-great-front-end-engineer/,如涉及版权问题请及时联系小编! [http://jiongks.name/blog/how-to-become-a-great-front-end-engineer/,如涉及版权问题请及时联系小编!] 译注:本文翻译自谷歌工程师 Philip Walton 的一篇博客。看过之后非常有感触,很多观点都是自己长期非常坚持和认同的,所以翻译出来分享给更多的前端同学! -------------------------------------------------------------------------------- 最近我收到一封读者来信让我陷入了思考,信是这么写的: Hi Philip,您是否介意我问,您是如何成为一名卓越 (great) 的前端工程师的?对此您有什么建议吗?
1年前
javascript技术
jerytang 于 1年前发表 1643 1 0
图一 [http://7tszky.com1.z0.glb.clouddn.com/Fjb2BKfiJaNbq-64eU5ZZDyX0En0] 一、如何描述 JSON ? JSON (JavaScript Object Notation) 缩写,JSON 是一种数据格式,具有简洁、可读性高、支持广泛的特点。JSON 有以下基本数据类型 // # 1. object { "key1": "value1", "key2": "value2" } // # 2. array [ "first", "second", "third" ] // # 3. number42// # 4. string"This is a string"// # 5. booleantruefalse// # 6. nullnull 在其它语言中也有类似的内建数据类型,但是由于 JavaScript的广泛应用,而 JSON 作 为 JavaScript原生的数据类型,具备更加广泛的支持。 有了上面列举的基本数据类型,JSON 能非常灵活的表示任意复杂的数据结构。举个例子: {
1年前
javascript技术
coolriver 于 1年前发表 2915 3 1
如果懂setTimeout,可以直接看第3节,前面两节也可以当段子看一下。 如果不是很懂setTimeout,看下1,2两节应该会有一些收获。 1 JAVASCRIPT运行环境 之前 关于service worker介绍的文章 [http://imweb.io/topic/56592b8a823633e31839fc01] 中,这样描述了浏览器环境下Javascript环境:" 每个页面的javascript运行主线程都是一个Boss "、" Boss很厉害,在页面上指点江山,呼风唤雨。但他有个局限:同一时刻只做一件事(单线程) "。 以上体现了Javascript在浏览器运行环境中的局限性,单线程。实际上,不仅是在浏览器环境中,在Nodejs环境中的javascript也是单线程的。在不使用其它新员工(webworker等)的情况下,JS是如何在单线程上处理复杂的操作和逻辑,以至于在用户看来可以同时响应不同的操作的呢?
1年前
javascript技术
seagirl 于 1年前发表 1269 1 0
[http://7tszky.com1.z0.glb.clouddn.com/FmhGCKoUqyA3iL3fYUAvrCvp6QQx] JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。今天小编收集了5篇关于JavaScript的干货文章附带心灵鸡汤,赶紧来看看吧! 一、JavaScript资源大全中文版 ( http://www.tonghangshuo.cn/detail.html?id=4144 [http://www.tonghangshuo.cn/detail.html?id=4144] ) GitHub上面一个精选JS工具资源列表(含数百个JS资源,GitHub已 300+ star) 二、45个实用的JavaScript技巧、窍门和最佳实践 ( http://www.tonghangshuo.cn/detail.html?id=4148
1年前
javascript技术
seagirl 于 1年前发表 1536 0 0
[http://7tszky.com1.z0.glb.clouddn.com/Fm4045w4dRadsCL4jtVd5ennzgxo] 现在最热门的前端框架,毫无疑问是React。在基于React的React Native发布一天之内,就获得了 5000 颗星,受瞩目程度可见一斑。今天小编收集了5篇关于react的干货文章,赶紧来看看吧! [http://7tszky.com1.z0.glb.clouddn.com/FmZr52A-EXB_j6wrL-2s5N0XhA2t] 一.React-Native学习指南( http://www.tonghangshuo.cn/detail.html?id=3817 [http://www.tonghangshuo.cn/detail.html?id=3817] ) 本指南汇集React-Native各类学习资源,给大家提供便利。 [http://7tszky.com1.z0.glb.clouddn.com/FqowNEC-CXUkFeQq47M502Ata0x9]
1年前
javascript技术