2021年8月4日

八皇后问题的Javascript实现

摘要: 八皇后问题的Javascript实现。直接上代码。 /* 八皇后问题: 建模: A 皇后横直不兼容:故每一排每一列最多只能有一个皇后,故每组答案可以简化为一个数组,如:[0, 4, 7, 5, 2, 6, 1, 3] B 判断条件可以简化为是否存在斜吃就行。 C 用递归实现 */ function 阅读全文

posted @ 2021-08-04 20:42 JKisJK 阅读(99) 评论(0) 推荐(0) 编辑

2019年8月16日

浏览器控制台里的$、$$是咋回事

摘要: 程Hao同学提到:浏览器的控制台里,可以直接使用$、$$方法,可是这些方法,却不能被页面里的JS使用。 赵WenBo同学给出解答: https://developers.google.com/web/tools/chrome-devtools/console/utilities https://de 阅读全文

posted @ 2019-08-16 20:42 JKisJK 阅读(1207) 评论(0) 推荐(0) 编辑

2016年5月10日

求一个红包算法

摘要: m个硬币,n个红包,红包里的硬币数不可以小于b,也不可以大于t,数目是随机的。 mnt均为自然数,且 n*b<=m<=n*t。 求红包算法 function getRedPackets(m,n,b,t){ var ret = new Array(n); /*todo*/ return ret; } 阅读全文

posted @ 2016-05-10 11:19 JKisJK 阅读(713) 评论(0) 推荐(0) 编辑

2015年11月17日

ThinkJS 项目用 WebStorm 来设置断点与调试

摘要: 1. 前置条件。已按ThinkJS 2.0 文档 之 《创建项目》 建好项目。 说明a: 本示例创建项目名为wagang,使用es6配置: thinkjs new wagang --es6 说明b: 最后两步(启动项目、访问项目)后,控制台输出如下。 2. 用WebStorm打开项目,修改... 阅读全文

posted @ 2015-11-17 21:37 JKisJK 阅读(9991) 评论(0) 推荐(2) 编辑

2015年9月17日

分页组件

摘要: 上代码分页--JK分页条。总页数:(可以修改,以模拟总页数不同时的分页结果)看效果分页--JK分页条。总页数:(可以修改,以模拟总页数不同时的分页结果) 阅读全文

posted @ 2015-09-17 13:55 JKisJK 阅读(475) 评论(0) 推荐(0) 编辑

2014年12月11日

北京地铁调价后的每月地铁费用如何算

摘要: 2014-12-28,北京地铁大调价。可以通过这个地址来查单程票价:http://piaojia.bmncc.com.cn/公告文如下: 北京市公共交通价格新政 于2014年12月28日起实施 引京发改[2014]2526号 地铁票价: 6公里(含)内3元;6公里至12公里(含)4元;12公里至22... 阅读全文

posted @ 2014-12-11 21:21 JKisJK 阅读(4947) 评论(2) 推荐(0) 编辑

2014年3月20日

“忠于原文”的前端转码问题

摘要: 用户输入的文本,有可能在很多地方出现,在出现时需要作转码,一方面是出于安全考虑(xss等),另一方面也是需要“忠实”的显示用户的合法输入。看下下面的各个?号,需要什么转码方式: 模板页面--JK@奇舞团 用户输入的值是: &lt;input onclick="alert('hello')">\&amp;amp; 请将本html文件中的代码中的?改成对应的编码后的文本,使之在输出时忠实的显示成用户输入的值。 注:以下代码里的部分使用方法应在现实中避免。 1. div里显示用户输入的内容:? ... 阅读全文

posted @ 2014-03-20 18:58 JKisJK 阅读(1464) 评论(2) 推荐(0) 编辑

2013年5月30日

Firefox20 到 Firefox21 的一个小改变

摘要: <div style="width:500px;position:relative;border:1px solid black;" onclick="alert([this.scrollHeight,this.offsetHeight]);"> <div style="float:left;width:200px;height:200px;border:3px"> click me </div> </div>Firefox20-: 0,2Firefox21+: 200,2其它浏览器:2 阅读全文

posted @ 2013-05-30 21:56 JKisJK 阅读(1050) 评论(0) 推荐(0) 编辑

修改document.domain的注意事项

摘要: 有时候,需要修改document.domain。 典型的情形:http://a.xxx.com/A.htm 的主页面有一个<iframe src="http://b.xxx.com/B.htm"></iframe>,两个页面的js如何进行交互? 实现跨域交互的方式有很多,其中这种跨子域的交互,最简单方式就是通过设置document.domain:只需要在A.htm与B.htm里都加上这一句document.domain = 'xxx.com',两个页面就有了互信的基础,而能无碍的交互。 示例:http://www.wagang.net 阅读全文

posted @ 2013-05-30 20:50 JKisJK 阅读(39141) 评论(8) 推荐(1) 编辑

2013年1月7日

functionalize--实例方法变成静态函数

摘要: QW.StringH.methodize可以把静态函数变成实例方法。与此相反,也应该有一个functionalize,用来把实例或原型方法变成静态函数。对应的简单实现如下: function functionalize(fun){ return function(){ return fun.call.apply(fun,arguments); } } var substr = functionalize(''.substr); alert(substr('hello',1,2)); 阅读全文

posted @ 2013-01-07 09:57 JKisJK 阅读(1129) 评论(0) 推荐(0) 编辑

2012年12月10日

selector4 之 巧妙的主体定义符

摘要: “我叫土旦然”在Wed群里问“css选择符能不能选择一个元素的前一个元素?”印象里,css的几个关系符: _ 后代 > 亲子 + 弟弟 ~ 弟弟们都是向后找的。。。。没有向前找的。即在参考节点后面的才可能找到。向后找的好处是:查找的方向是单向的,如果支持向前找,路径算法会麻烦很多。。。不过土旦然的需求也很合理,晚上去看了下css4的草案,真的有类似的方案:selector主体定义符:"!"http://dev.w3.org/csswg/selectors4/#subject如果浏览器真的实现了,就可以下面这句很简单的话来实现土旦然的需求了:!div + #myId { 阅读全文

posted @ 2012-12-10 21:07 JKisJK 阅读(1396) 评论(1) 推荐(0) 编辑

2012年10月24日

神奇的"javascript:"

摘要: 上周,从 GuoXing同学 http://weibo.com/runflash 那里学习的一个知识点,没等到他的博客,我就抢先记录一下。(捋须笑过)问题:以下代码里的“javascript:”是起什么作用?<input type=button value=test onclick="javascript:alert(1)"/> 在href里写“javascript:alert(1)”,这里是作伪协议,不过在onclick里写,是有什么用呢?难道是指定语言类型? ok,再我们改下试下:<input type=button value=test onclic 阅读全文

posted @ 2012-10-24 16:41 JKisJK 阅读(1444) 评论(3) 推荐(1) 编辑

2012年9月29日

某台机器上IE8抛“Invalid procedure call or argument”异常

摘要: 某台机器上,访问公司的好几个产品网站,都抛出很多“Invalid procedure call or argument”,跟进了下,情况最后简化为:1. 环境:browser_info:"platform:Win32;msie;version:8.0;ie",navigator:"appCodeName:Mozilla;appName:Microsoft InternetExplorer;appMinorVersion:Release Candidate1;cpuClass:x86;platform:Win32;systemLanguage:zh-cn;userL 阅读全文

posted @ 2012-09-29 17:47 JKisJK 阅读(2760) 评论(1) 推荐(0) 编辑

2012年8月15日

自执行函数的几种不同写法的比较

摘要: 经常需要一个函数自执行,可惜这一种写法是错的:function(){alert(1);}();原因是前半段“function(){alert(1);}”被当成了函数声明,而不是一个函数表达式,从而让后面的“();”变得孤立,产生语法错。按上面的分析,这一段代码虽说没有语法错,但也是不符合我们的预期的,因为这个函数并没有自执行。function(){alert(1);}(1);综上,症结在于,如何明确代码描述的是一个函数表达式,而不是函数声明语句。正确的写法多种多样,也各有利弊:方法1:最前最后加括号(function(){alert(1);}());这是jslint推荐的写法,好处是,能提醒阅 阅读全文

posted @ 2012-08-15 18:21 JKisJK 阅读(1724) 评论(4) 推荐(3) 编辑

2012年8月11日

围观STK

摘要: 先科谱一下,STK是新浪微博的前端javascript脚本库,这个介绍很风趣: STK起源于sina twitter`s kit。 后来内部改成史塔克了,是钢铁侠的主角托尼·史塔克的意思,世界最大的军火商。 但这史塔克这名字太晦涩难记,后来传着传着就成沙滩裤了,没啥具体含义,只是谐音好说。其实听到STK已经有很多次了,不过可能是因为新浪的知识产权保护策略,源代码一直没有公开,所以我也一直没有去仔细了解。最近又听CJ同学讲到了STK,于是决心再去看一下,就算是苦B的看压缩后的代码。压缩后的代码来自这个网址:http://js.t.sinajs.cn/t4/home/js/base.js 阅读全文

posted @ 2012-08-11 16:18 JKisJK 阅读(5452) 评论(4) 推荐(1) 编辑

2012年6月1日

备忘:递归callee.caller导致死循环

摘要: 今天网友 Baobao包子 反映QWrap里的QW.EventH.getEvent有可能会产生死循环。代码如下: /** * 获得event对象 * @method getEvent * @param {event} event (Optional)event对象 默认为调用位置所在宿主的event * @param {element} element (Optional)任意element对象 element对象所在宿主的event * @return ... 阅读全文

posted @ 2012-06-01 16:38 JKisJK 阅读(1394) 评论(1) 推荐(0) 编辑

2012年4月23日

随机问题之--洗牌算法

摘要: 洗牌算法是我们常见的随机问题,在玩游戏、随机排序时经常会碰到。它可以抽象成这样:得到一个M以内的所有自然数的随机顺序数组。在百度搜“洗牌算法”,第一个结果是《百度文库-洗牌算法》:http://wenku.baidu.com/view/c4fea82658fb770bf78a55b7.html扫了一下里面的内容,很多内容都容易误导别人走上歧途,包括最后用链表代替数组,也只是一个有限的优化(链表也引入了读取效率的损失)。该文里的第一种方法,可以简单描述成:随机抽牌,放在另一组;再次抽取,抽到空牌则重复抽。“抽到空牌则重复抽”这会导致后面抽到空牌的机会越来越大,显然是不合理的。可以优化一步成:牌抽 阅读全文

posted @ 2012-04-23 21:23 JKisJK 阅读(21954) 评论(9) 推荐(7) 编辑

2012年4月8日

onclick与listeners的执行先后问题

摘要: 以下代码,会先执行onclick,然后再执行事件监控:<HTML><HEAD> <TITLE>JK Test</TITLE> <META content="text/html; charset=utf-8" http-equiv=Content-Type> <script src="http://s0.qhimg.com/lib/qwrap/110.js" type="text/javascript"></script> <style> d 阅读全文

posted @ 2012-04-08 14:19 JKisJK 阅读(1252) 评论(1) 推荐(0) 编辑

2011年12月31日

Textarea与懒惰渲染

摘要: 2008年有啊第一次性能优化时,我们曾用textarea来存贮需要懒惰渲染的节点。代码如下。<div>立即渲染内容<ul> <li>张三<img src="p01.jpg"/></li> <li>张四<img src="p02.jpg"/></li></ul></div><div><textarea id="lazyRender01" style="display:none"&g 阅读全文

posted @ 2011-12-31 21:12 JKisJK 阅读(1290) 评论(5) 推荐(1) 编辑

2011年11月27日

QWrap Selector之W3C版

摘要: 之前也曾经有过一系列《QWrap Selector解密》 文章,讲到过QWrap里的dom/selector.js里的大多数要点。今天又整了一个完全依赖浏览器的querySelectorAll的slector版本:selector_w3c.js。与之前的selector.js的接口名称相同。我们自己写一个selector.js,这样我们就有弥补标准的不足的自由。例如,就算最新的浏览器,也依然没有人严格实现matchesSelector。而我们的selector.js里早就有了filter与test方法来实现matchesSelector的功能。从另一个角度看,我们有时需要为某些特定场景定制一些 阅读全文

posted @ 2011-11-27 19:06 JKisJK 阅读(1013) 评论(0) 推荐(0) 编辑

导航