Kingle
你所有不曾料想过的问题,都会随着时间的推移而与你不期而遇
摘要: 看到一个题目~~3.14得到是3,一下子有点蒙,之前在Javascript中完全没有见过~这个运算符。经查才知道~是补位运算符,但是跟原码反码补码又有点不同(在反码这一块,不记正负),好吧,大学的东西都还给老师了。举个简单点的例子吧。~2 = -3,看看怎么得出这个结果的:2的二进制是:0000 0... 阅读全文
posted @ 2014-05-07 22:42 Kingle 阅读(689) 评论(0) 推荐(0) 编辑
摘要: Sublime Text安装了Emmet后,使用Tab或者ctrl+e发现补全有问题,如:div.testClass#testId变成了div.发现用的应该是Sublime Text自带的补全功能。就是说,Emmet并没有生效。怀疑可能是快捷键冲突问题,自定义快捷键之后,弹出错误:Please wait a bit while Pyv8 binary is being downloaded.以为Pyv8还没下载安装,可是打开package control发现已存在。于是,remove, 到官网下载了一个:https://github.com/emmetio/pyv8-binaries#read 阅读全文
posted @ 2014-03-30 20:58 Kingle 阅读(3046) 评论(0) 推荐(1) 编辑
摘要: Sublime Text 2 常用的快捷键 (不包含插件快捷键)Ctrl+P打开文件搜索框,可以直接输入文件名搜索,或者输入@funcName 可以直接到函数定义处,输入#key 可以直接查找,输入:行数可以直接到某行(同快捷键Ctrl+G)Ctrl+Shift+P打开命令面板,可以查找一些功能。或者输入package control可以安装删除插件。Ctrl+D选词(按住继续选择下个相同的字符串)Ctrl+M光标移动至括号内开始或结束的位置Ctrl+Shift+M选择括号内的内容(按住继续选择父括号)Ctrl+/注释整行(如已选择内容,同“Ctrl+Shift+/”效果)Ctrl+Shift 阅读全文
posted @ 2014-02-24 22:44 Kingle 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 通过压缩组件,可以显著减少HTTP请求和响应事件。这也是减小页面大小最简单的技术,但也是效果最明显的。压缩JS,CSS代码有几种常用插件,YUI Compressor是个不错的选择。通过maven的YUI Compressor plugin可以方便的压缩项目中的前端代码。最简单便是将所有的文件一一压缩,看下pom.xml的配置: 4.0.0 KUI_demo KUI_demo 1.0 jar net.alchim31.maven yuic... 阅读全文
posted @ 2014-01-24 22:37 Kingle 阅读(1422) 评论(0) 推荐(1) 编辑
摘要: 模块模式(Module Pattern)提供了一种代码封装的方式,可以优雅地创建非耦合的代码块。它是利用即时函数为对象创建私有变量和特权方法。严格来说,Javascript中没有私有成员的概念,所有的对象属性都是公有的。不过,任何在函数中定义的变量,都可以认为是私有变量,因为不能在函数的外部访问这些变量。而特权方法作为闭包有权访问在函数中定义的所有变量和函数。模块模式是多个概念的结合,包括:闭包命名空间即时函数私有变量和特权方法模块模式的语法大概如下: KUI.utils.namespace("KUI.module.module1"); KUI.module.module1 阅读全文
posted @ 2013-12-05 21:38 Kingle 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 【声明】此文为转载,只为收藏。 从小到大听说了无数关于“电脑黑客”的故事,比如XXX入侵美国五角大楼,再比如前几年的“熊猫烧香”病毒,这些故事的主角都被我们的媒体称之为“黑客”。其实这些人,更大程度上应该被称之为“cracker(骇客)”,而不是 “hacker(黑客)”,很多媒体和作家实在是侮辱了hacker 。cracker 和 hacker 最大的区别就是: cracker 搞破坏,而 hacker 搞创造。今天转载一篇Eric Steven Raymond 写的很有名的一篇文章:How to become a hacker,学习编程的都应该看一下。如何成为一名黑客(英文原文)翻译... 阅读全文
posted @ 2013-10-19 09:44 Kingle 阅读(600) 评论(0) 推荐(3) 编辑
摘要: 很少使用javascript的delete,最近因为一个小bug发现删除引用类型对象的时候有一点不同。如下面例子: var testVar = { a : { test : 1 } }, test1 = {}, test2 = {}; test1.a = testVar.a; test2.a = testVar.a;/* delete test1.a; console.log(test... 阅读全文
posted @ 2013-09-28 20:15 Kingle 阅读(492) 评论(1) 推荐(0) 编辑
摘要: 由于javascript没有类的概念,因此无法通过接口继承,只能通过实现继承。实现继承是继承实际的方法,javascript中主要是依靠原型链要实现。原型链继承原型链继承是基本的继承模式,其本质是重写原型对象,使其为新对象的实例。代码实现如下:function Person(){ this.name = "default"; var temp = "temp";}Person.prototype.age=0;Person.prototype.getName = function(){ return this.name;}Person.prototype. 阅读全文
posted @ 2013-07-03 08:01 Kingle 阅读(1630) 评论(6) 推荐(1) 编辑
摘要: Javascript是基于原型实现面向对象的,因此并没有类和接口,它的对象也与其他基于类的语言中的对象有所不同。在Javascript中,每个对象都是基于一个引用类型创建的,这个引用类型可以是原生类型,也可以是自定义的类型。在没有类的情况下,可以采用下列模式创建对象。简单模式创建对象最简单的方式就是创建一个引用类型的实例,再为其添加属性和方法:var Person = new Object();Person.name = "Thom";Person.action = function(){};但是这样使用同一个接口创建很多对象,会产生大量的重复代码,不利于封装。工厂模式工厂 阅读全文
posted @ 2013-06-24 08:05 Kingle 阅读(1702) 评论(1) 推荐(3) 编辑
摘要: 在jQuery中,有几种方式可以判断一个对象是否是数字,或者可否转换为数字。 首先,jQuery.isNaN()在最新版本中已经被移除了(1.7之后),取而代之的是 jQuery.isNumeric ()。这并不奇怪,因为jQuery.isNaN() 同Javascript内置的isNaN()名字相同,但是语义却不完全相同,在一定意义上会造成歧义。 jQuery.isNumeric ()有着与其相似的功能,同时也解决了歧义问题。 jQuery.isNumeric ()检查传进的参数是否是数字或者可否转换为数字;Javascript 内置的isNaN() 检查传进的参数是否是一个合法的数字... 阅读全文
posted @ 2013-04-15 08:23 Kingle 阅读(5762) 评论(1) 推荐(1) 编辑