Kingle
你所有不曾料想过的问题,都会随着时间的推移而与你不期而遇
摘要: Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的。可以正常运行的代码并不代表是合适的代码。var num = 1;是在当前域中声明变量. 如果在方法中声明,则为局部变量(local variable);如果是在全局域中声明,则为全局变量。而 num = 1;事实上是对属性赋值操作。首先,它会尝试在当前作用域链(如在方法中声明,则当前作用域链代表全局作用域和方法局部作用域etc。。。)中解析 num; 如果在任何当前作用域链中找到num,则会执行对num属性赋值; 如果没有找到num,它才会在全局对象(即当前作用域.. 阅读全文
posted @ 2013-04-08 08:05 Kingle 阅读(4385) 评论(12) 推荐(9) 编辑
摘要: Requirement: 一个json object,并且可能包含一些空值或者空字符串,在页面显示的时候希望遇到空值显示“N/A”,但是有一部分值是允许空值的。因此希望通过筛选将空值设为“N/A”.例如希望学生的“age”和“score”如果为空显示“N/A”,而“sex”或者“comment”为空则不做处理。var student = { "name" : "Guo", "sex" : "", "age" : "", "num ": 01, " 阅读全文
posted @ 2013-04-05 21:06 Kingle 阅读(947) 评论(0) 推荐(1) 编辑
摘要: 源起: <div id="test1"> <span>text1</span> <span>text2</span> <span>text3</span> </div> 想取得span element 里面的文本, 发现$("#test1 span")[0]取出来的不是jQuery object, 只能用$($("#test1 span")[0]).text()转为jQuery再取了,但是两个$一起总感觉怪怪的,退而求其次便用了取值$(&q 阅读全文
posted @ 2013-04-04 10:07 Kingle 阅读(397) 评论(0) 推荐(0) 编辑
摘要: java JDK里面容器类的排序算法使用的主要是插入排序和归并排序,可能不同版本的实现有所不同,关键代码如下: /** * Performs a sort on the section of the array between the given indices * using a mergesort with exponential search algorithm (in which the merge * is performed by exponential search). n*log(n) performance is guaranteed * a... 阅读全文
posted @ 2012-03-09 15:19 Kingle 阅读(2642) 评论(0) 推荐(0) 编辑
摘要: Fisher–Yates shuffle 基本思想(Knuth shuffle ):To shuffle an array a of n elements (indices 0..n-1): for i from n − 1 downto 1 do j ← random integer with 0 ≤ j ≤ i exchange a[j] and a[i]JDK源代码如下:/** * Moves every element of the List to a random new position in the list. * * @par... 阅读全文
posted @ 2012-03-07 16:51 Kingle 阅读(1642) 评论(0) 推荐(0) 编辑
摘要: JAVA关键字final用于修饰数据、方法或类,通常意味着“无法改变的”,既数据不能改变,方法不能覆盖,类不能继承。一般采用final有两种原因:设计和效率。而随着JAVA版本的更新,一些效率上的问题可以交由编译器和JVM处理。因此,采用final来解决效率问题就显得不是那么重要了。 Final修饰符大多运用于基本数据类型(primitive)域或者不可变(immutable)类的域(如果类中的所有方法方法都不会改变其对象,这种类就是不可变类。String就是一个不可变类)。【final数据】 Final关键字用修饰数据主要有两种情况:1.编译期常量2.运行时初始化的值 对于编译期常量,指.. 阅读全文
posted @ 2012-02-08 21:58 Kingle 阅读(1297) 评论(0) 推荐(0) 编辑
摘要: JAVA数组与容器类主要有三方面的区别:效率、类型和保存基本类型的能力。在JAVA中,数组是一种效率最高的存储和随机访问对象引用序列的方式。数组就是一个简单的线性数列,这使得元素访问非常快速。但是为此付出的代价却是数组的大小被固定,并且在其生命周期中不可改变。 由于范型和自动包装机制的出现,容器已经可以与数组几乎一样方便地用于基本类型中了。数组和容器都可以一定程度上防止你滥用他们,如果越界,就会得到RuntimeException异常。数组硕果仅存的优势便是效率,然而,如果要解决更一般化的问题,那数组可能会受到过多的限制,因此这种情况下大部分还是会选择容器。 因此,如果使用最近的JAVA版.. 阅读全文
posted @ 2012-02-05 12:29 Kingle 阅读(485) 评论(0) 推荐(0) 编辑