Javascript
文章平均质量分 73
zlxadhkust
这个作者很懒,什么都没留下…
展开
-
Javascript&CSS Tips - (4)
Swell Anchor's Hit-Area:這個話題是源於我在某一次小試驗中,我想在網頁中加入一些鏈接,而因為這個網頁是爲了移動設備而設計,所以我希望它的有效點擊區域會大些,下面這個鏈接里的文章介紹了如何做到這一點,本質上來講,就是增加padding屬性。因為在css的box model里,padding的範圍是在邊界(border)以內的。http://v3.thewatchmake原创 2013-04-19 11:22:15 · 730 阅读 · 11 评论 -
Note On <Pro AngularJS> - 01
Set Up the Development Environment原创 2014-08-14 18:47:03 · 1653 阅读 · 1 评论 -
JavaScript原型的工作原理(以及如何利用它来实现类的继承)
在上一篇文章里,我们以及详细分析过构造函数,还有怎样将其变成面向对象语言里的类。但是JavaScript不是基于类的编程语言,它是基于原型的编程语言。这到底是什么意思呢?简单来说,JavaScript不是通过类来创建对象,而是通过对象来创建对象。JavaScript没有类,有的只是对象和基本数据类型。为简化问题起见,我们姑且说JavaScript里的所有东西都是对象,从实数到字符串,甚至是函数本身。前一篇文章已经讲到过,有两种创建对象的方法:一种是从字面上直接创建(有些地方称为通过JSON符号创建),另一种翻译 2014-04-27 17:41:45 · 1920 阅读 · 0 评论 -
白话详解JavaScript原型
Javascript的每个对象都有一个原型(prototype)。当一个单元信息到达一个对象时,JavaScript首先会在这个对象自身上面寻找这个属性,如果没有找到,那么这个单元信息会被发送到这个对象的原型,而这个原型本身又是另一个对象,所以上面的操作被再次执行,这个过程一直这样持续下去直到找到为止。这跟基于类的编程语言里的单继承是一样的。理解Javascript的原型链的最简单的方法莫过于通过__proto__属性。不过很遗憾的是__proto__并不在Javascript实现标准内,至少在ES6之前都翻译 2014-04-15 13:37:16 · 1149 阅读 · 1 评论 -
JavaScript中的作用域以及this变量
今天我想简单讨论下关于Javascript的作用域和this变量。“作用域”的概念就是说,我们的代码能够从哪里去访问某些函数或者变量,也就是它们所存在的上下文,或者说就是它们被执行的地方。第一种作用域是全局作用域(Global Scope),它的定义很简单。如果一个函数或者变量是全局的,那么在任何地方都能够访问它们。在浏览器里,全局作用域其实就是window对象。所以如果你在代码里这样定义一个变量:var x = 9;那么实际上你是在window对象上创建一个叫x的属性,并给它赋值为9。当然如果你愿意翻译 2014-04-26 11:05:35 · 1968 阅读 · 0 评论 -
Get the First Touch on JQuery
Target:Actually, what I will do is to integrate this JQuery UI into my Joomla! site: http://jqueryui.com/demos/slider/#side-scroll. But I have no idea about JQuery, my learning progress now is原创 2012-02-18 18:04:11 · 1004 阅读 · 2 评论 -
JavaScript心經-變量篇
变量(Variables)[Notes On 'Professional.Javascript.For.Web.Developer' - 1]有三种常用的基本类型:boolean、number和string。还有两个特别一些的:undefined和null。判断一个变量是否是undefined或者null现在主要讨论undefined和null,因为原创 2014-03-25 12:01:56 · 735 阅读 · 1 评论 -
JavaScript心經-this关键字篇
this关键字this關鍵字在JavaScript裡的具體含義完全不同於C#或者Java這種基於類的編程語言,所以參考後者來理解前者只會更加迷惑。在JavaScript裡並不存在C#中的類,也就不存在類的實例,所以this不可能指向那樣一個東西。JavaScript裡的this究竟該怎樣解釋,目前我還沒有發現任何術語可以簡單地說明並且不具歧義性,很多人把它稱為函數執行時的上下文原创 2016-07-23 06:59:57 · 449 阅读 · 0 评论 -
Note on <AngularJS> - Aborted Because Of Too Many Errors In This Book
Chapter1:To run原创 2014-05-21 10:46:19 · 1381 阅读 · 2 评论 -
Javascript & CSS gotchas in Mobile Web App Development
CSS3 Media Query:http://www.w3.org/TR/css3-mediaqueries/Get OuterHTML in JQuery:http://stackoverflow.com/questions/5744207/jquery-outer-htmlSleep in Javascript:http://stackoverfl原创 2013-07-26 10:26:51 · 577 阅读 · 0 评论 -
One subtle TinyMCE Bug: Popup's dimension got too small
http://stackoverflow.com/questions/3822435/tinymce-pop-up-window-resizinghttp://www.tinymce.com/develop/bugtracker_view.php?id=5353https://github.com/tinymce/tinymce/pull/138#issuecomment-1706原创 2013-11-06 18:06:13 · 887 阅读 · 0 评论 -
Note on 'Object-Oriented JavaScript' - 1
Chapter2: Primitive Data Types, Arrays, Loops, and ConditionsPrimitive Data TypesStringsString Conversions将字符串放在数学运算符号前后作为参数会导致字符串被隐性转换为数字类型变量,注意加号'+'除外,因为将字符串连接起来的操作也是用加号表示,所以这里原创 2014-03-27 14:15:24 · 465 阅读 · 0 评论 -
Layout Manager with JQuery
Refs:30 jQuery Responsive Layout Plugins其中很值得一看的:Isotope6 Flexible jQuery Plugins To Control Webpage Layouts Easily其中很值得一看的:jQuery Masonry11 Best jQuery Layout PluginsjQuery UI Layou原创 2012-10-24 14:15:20 · 452 阅读 · 0 评论 -
Notes On <Pro JavaScript with MooTools> - 01
原本并未打算仔细阅读这本教材,需要使用MooTools只是因为眼下正在收尾的一个基于Joomla!的项目需要一点新的客户端的功能,不过看来也不是什么复杂的东西,所以我也没有想要深入研究MooTools的打算。之所以后来改变想法,一是因为看了这本书的第二章之后,发现作者在很深入地探讨Javascript的原理和机制,那里提到很多我之前不了解的特性;二是因为昨晚看了这篇文章:jQuery原创 2012-07-26 09:58:00 · 514 阅读 · 0 评论 -
Communication Between Hosting System and Its Plugin Applications(Cross Domains)
The first rendered HTML code in mother system is: if(!window.hasInitShop88Addon){ initShop88Addon('f3f4612484faba346107da36c44e5e24', 'http://hk.dev.job.88apps.net/88app.php原创 2013-12-04 12:26:21 · 1107 阅读 · 0 评论 -
jQuery Cheatsheet
Attribute SelectorTo identify the elements by their attributes:原创 2014-05-12 21:31:06 · 710 阅读 · 1 评论 -
<Effective JavaScript> - Note 01
Item 1:搞清楚你使用的JavaScript的版本,Item 12:理解變量提升,Item 8:避免使用全局对象,Item 49:遍历数组时,用for循环而不是for...in循环原创 2017-03-15 20:02:10 · 672 阅读 · 0 评论 -
Design Pattern - Creational Patterns - Singleton Pattern
2007Section 1, Chapter 1Singleton PatternConceptThe Singleton pattern is a way to provide global access to a class instance without making the constructor avail原创 2016-04-06 08:48:12 · 547 阅读 · 0 评论 -
Note On <High Performance JavaScript> - 01
Chapter 4: 文档对象模型(DOM)操作一般来说,一个浏览器里面的DOM实现和JavaScript的实现是两个分开的模块,JavaScript是独立的脚本语言,它自身的规范里不包含DOM,所以JavaScript的引擎是个独立的部分,实现DOM的部分通常叫渲染引擎(rendering engine)。由于两者相互独立,所以所有与DOM有关的操作都会引起两个模块之间的沟通,这个通翻译 2017-04-02 17:05:26 · 764 阅读 · 0 评论 -
Note On <High Performance JavaScript> - 03
Chapter 8: 实践技巧避免双重执行这个部分讨论的是动态执行的JS代码,通过eval(),Function(),setTimeout()和setInterval()所创建的代码都会经过两次执行的过程,而这导致它们慢很多。作者的建议是,对于eval()和Function()最好是索性直接避免,而后两者setTimeout()和setInterval(),可以翻译 2017-04-22 09:01:48 · 351 阅读 · 0 评论 -
Note On <High Performance JavaScript> - 02
Chapter 1: 加载与运行在很多浏览器里,渲染界面的线程和执行JavaScript的是同一个线程,所以当执行JS的时候,浏览器就停下任何其他任务。不论是遇见内联的JS代码,还是外部加载的JS文件,浏览器都只能暂时放下跟界面有关的工作去执行JS代码。这样设计的原因是JS代码会修改DOM,比如通过document.write()。=============翻译 2017-04-10 11:04:10 · 570 阅读 · 0 评论 -
理解ES6: 块作用域
这是Nicholas Zakas的新作,原文链接:https://github.com/nzakas/understandinges6/blob/master/manuscript/01-Block-Bindings.mdvar声明与变量提升现象这是前ES6时期var的问题,变量会被JS引擎处理成好像它们的声明被放在函数作用域(或者全局作用域)的顶端。fun翻译 2017-06-29 19:32:43 · 415 阅读 · 0 评论 -
DS.Lab筆記 - ECMA-262-5 - 文法环境概论
引言文法环境这个机制被很多语言采纳来实现静态作用域法则,比如像闭包这样的功能。ECMA-262-5 标准借用了这个概念,但是它更多则只是对于ES3里的静态作用域机制的进一步抽象和理论层面的完善。因此,ES3里的概念,像触发体(activation object)被替换为触发记录(activation record),执行上下文栈被替换为调用栈(call-stack)。普适理翻译 2017-07-02 08:50:51 · 292 阅读 · 0 评论 -
理解ES6: 组件
何为组件?组件本质上就是JavaScript文件,但是它们被加载的方式和JavaScript文件被加载的方式有所不同,我们称传统的加载和执行方式为scripts模式,组件的加载则不是这个模式,它有自己的模式(Vincent:作者没有说,或许成为module模式?这个名称可能是根据HTML里的标签名来的)。组件里的代码自动在严禁模式下运行,这个行为不可更改;组件里面最翻译 2017-07-02 09:15:30 · 1330 阅读 · 0 评论 -
DS.Lab筆記 - ECMA-262-5 - 属性与属性描述器
属性的种类个属性的特性(attribute)命名数据属性这类属性有四个特性,它们的默认值是:var defaultDataPropertyAttributes = { [[Value]]: undefined, [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]翻译 2017-06-10 17:15:08 · 440 阅读 · 0 评论 -
<Effective JavaScript> - Note 03
Item 47:不要给Object.prototype添加可枚举的属性归根结底,还是在说for..in的特性带来的问题。像下面的代码在Object.prototype上定义了一个方法,结果导致一些问题:Object.prototype.allKeys = function () { var result = []; for (var key in this) { r原创 2017-05-13 12:11:51 · 428 阅读 · 0 评论 -
理解ES6: Promises
在开始写总结笔记之前,先概览下Promise的历史。它作为一种用来处理异步程序的设计模式,在ES6以前就已经被广泛实现了。流行的JS库和框架都各自实现了自己的版本,像jQuery里的Deferred对象,AngularJS。另外甚至还有一些库就是提供promise的实现的,比如Q和Bluebird。这一章讲的则仅限于ES6里对于promise模式的实现,除了本篇之外,也推荐读一读MDN和Goo翻译 2017-07-03 10:03:08 · 518 阅读 · 0 评论 -
DS.Lab筆記 - ECMA-262-3: 闭包
原文链接:ECMA-262-3 in detail. Chapter 6. Closures.=============================================================ECMA的闭包实现var x = 10; function foo() { console.log(x);} (f翻译 2017-04-10 06:58:56 · 475 阅读 · 0 评论 -
DS.Lab筆記 - ECMA-262-3: 函数
原文鏈接:ECMA-262-3 in detail. Chapter 5. Functions.函数有三种:函数声明函数表达式通过函数构造器创建的函数====================================================================函数声明(Function Declarati翻译 2017-04-05 18:03:26 · 313 阅读 · 0 评论 -
DS.Lab筆記 - ECMA-262-3: 求值策略
求值策略:傳值(Call by value),傳引用(Call by reference),共享(Call by sharing)。對於原始數據類型,JavaScript傳遞函數參數使用的是傳值;對於對象數據類型,JavaScript傳遞函數參數使用的是共享。翻译 2017-03-30 10:36:03 · 284 阅读 · 0 评论 -
关于本人将会搬家博客的声明
至对这个博客有点关注的人:本人写博客的初衷很简单,主要是管理个人的知识和信息,软件开发这个行业的知识有其独特的性质,博大精深,结构宏大而细微处又琐碎,往往要经过一番长期的求索才能领悟一些知识,比如原理,算法等等,所以作为从业人员,记录下自己解开的知识点非常重要。这些博客其实只是个人的学习笔记,目标读者也只是我自己而已,没想到还是有很多人来看,也有些被收入知识库。也没有想到有一天会写原创 2017-04-13 17:05:25 · 521 阅读 · 0 评论 -
Note on <Learning JavaScript Design Patterns> - 01 - Recompiled 2017 Apr-May
CHAPTER 8: Design Pattern CategorizationCreationalBased on the concept of creating an object.ClassFactory MethodThis makes an instance of several derive原创 2014-12-18 17:31:08 · 949 阅读 · 0 评论 -
Note On <You Don't Know JS - this and Object Prototypes>
Chapter 1原创 2016-06-26 15:24:08 · 710 阅读 · 0 评论 -
Note On <You Don't Know JS - Scope and Closures> 2017 Apr Recompiled
Chapter 3: Functions Versus Block Scope原创 2014-07-30 10:16:36 · 1382 阅读 · 0 评论 -
<Effective JavaScript> - Note 02
Item 13:使用IIFE创建本地作用域看来这个for循环的作用域的问题真的是很经典,在DS的博客,KS的YDtKJS系列里都有讨论过。代码如下:function wrapElements(a) { var result = [], i, n; for (i = 0, n = a.length; i < n; i++) { result原创 2017-04-23 07:01:36 · 539 阅读 · 0 评论 -
DS.Lab筆記 - ECMA-262-3: 變量體(variable object)
原文鏈接:ECMA-262-3 in detail. Chapter 2. Variable object.首先第一點,variable object一定是相對於execution context而存在的,它自己不會獨立存在,一個VO一定是從屬於某一個EC的,它的目的就是幫助這個EC存儲下列內容:變量(VariableDeclaration)函數聲明(FunctionDec翻译 2017-03-14 17:57:32 · 504 阅读 · 0 评论 -
DS.Lab筆記 - ECMA-262-3: this
函数执行上下文里this的值:this的值取决于调用当前函数的方式。内部Reference类型:变量名;函数名;函数的形式参数名;还有全局对象上面没有被定义的属性名;属性访问器。决定this的值的规则:1.调用函数的操作符是一对括号:( )在这个操作符左边出现的记号如果是一个引用类型的值,那么这个引用类型上的base的值就会被赋值给this;2.在所有其他的情况下,也就是说( )左边的符号不是一个引用类型,那么this的值就会成为null;3.在任何情形下,如果this的值是null,就被隐性转换成指向翻译 2017-03-22 08:58:15 · 639 阅读 · 0 评论 -
DS.Lab筆記 - ECMA-262-3: ECMAScript对于面向对象语言功能的实现
原文鏈接:ECMA-262-3 in detail. Chapter 7.2. OOP: ECMAScript implementation.=============================================================数据类型(Data types)ECMAScript标准定义了六种可以在代码中直翻译 2017-03-24 16:45:09 · 759 阅读 · 0 评论 -
DS.Lab筆記 - ECMA-262-3: 作用域链
函数的生命周期:创建,调用执行。作用域的特性:闭包(Closures),經過函數構造器創建的函數對象的[[Scope]]屬性,雙重維度的作用域鏈查找:在作用域链里混合了原型链,全局上下文和eval上下文里的作用域鏈,在執行上下文的代碼運行階段對作用域鏈施加影響:with,catch会在前面插入新对象翻译 2017-03-26 17:42:59 · 454 阅读 · 0 评论 -
DS.Lab筆記 - ECMA-262-5 - 严谨模式
介绍o(╯□╰)o严谨模式的特性o(╯□╰)o严谨模式下的限制未来保留字新增了一些保留字,它们不能在严谨模式下作为变量名使用,包括:implements,interface,let,package,private,protected,public,static,yield。八进制扩展o(╯□╰)oo(╯□╰)o给未声明的变量赋值ES3翻译 2017-07-31 13:19:37 · 406 阅读 · 0 评论