- 浏览: 58200 次
- 性别:
- 来自: 济南
最新评论
文章列表
首先定义一个基本类型创建方法的方法
/*基本类型的原型是公共的结构,因此在添加时首先确定下没有此方法*/
Function.prototype.method = function(name,func){
if(!this.prototype[name]){
this.prototype[name] = func;
}
return this;
}
1、array.concat(item...)
concat方法返回一个新的数组,它包括原有数组的元素并将1个活动多个参数item附加在其后如果参数item是一个数组,那么它的每一个元素会分别添加它可以添加一个数组也可以 ...
首先写几个方法
1、获取标签绝对位置方法
//获取当前的x坐标值
function pageX(elem){
return elem.offsetParent?(elem.offsetLeft+pageX(elem.offsetParent)):elem.offsetLeft;
}
//获取当前的Y坐标值
function pageY(elem){
return elem.offsetParent?(elem.offsetTop+page ...
函数可以通过用对象去记住先前操作的结果,从而避免无谓的运算,这种优化称为 记忆(Memoization).
1、求数字之和基本递归方法
其中fibonacci为一般常用的递归方法,能满足基本要求,但存在重复调用的现象
var count =0;//记录遍历次数
var fibonacci = function(n){
count++;
return n<2 ? n:fibonacci(n-1)+fibonacci(n-2);
}
//遍历11次后fibonacci()被调用了453次 ,我们调用了11次
function menoizationMethod1(){ ...
给类型增加方法 Argumenting Types
可以通过Function.prototype增加方法,使得方法对所有函数可用
//通过Function.prototype增加一个method方法,我们不必键入prototype这个属性名,就可以为一个对象创建方法了
//给基本类型增加方法,可以大大增加JS的表现力
/*基本类型的原型是公共的结构,因此在添加时首先确定下没有此方法*/
Function.prototype.method = function(name,func){
if(!this.prototype[name]){
this.prototype[nam ...
参数this在面向对象编程时非常重要,它的值取决于调用的模式,在JavaScript中有四种调用模式:方法调用模式、函数调用模式、构造器调用模式、apply调用模式。
1、方法调用模式 The Method Invocation Pattern
var myObject = {
value : 0,
increment : function(inc) {
this.value += typeof inc === 'number' ? inc : 1;
}
};
myObject.increment();
alert(myObject.value); //1
myO ...
var stooge = {
"first-name" : "Jerome",//属性名中如果包含非法的JS标识符或是JS保留字,必须用引号 ,反之可不用引号
"last-name" : "Howard"
}
//枚举 Enumeration
function enumeration(){
//for in 遍历对象
stooge.asv='asv';
var text = 'for in 遍历结果:<BR/>';
for(var attr in stooge){
i ...
每个对象都有原型,创建对象时可以选择对象的原型方法。
var stooge = {
"first-name" : "Jerome",//属性名中如果包含非法的JS标识符或是JS保留字,必须用引号 ,反之可不用引号
"last-name" : "Howard"
}
//每个对象都有原型,创建对象时可以选择对象的原型方法。
//给x增加一个beget方法,这个beget方法创建一个使用原有对象的新对象。
var x = {};
if(typeof x.beget !== 'function ...
创建表
create table demoTable(
id number ,
content varchar2(30)
);
测试数据
insert into demotable (ID, CONTENT)
values (1, 'content1');
insert into demotable (ID, CONTENT)
values (1, 'content2');
insert into demotable (ID, CONTENT)
values (2, 'content3');
insert into demotable ( ...
吸血鬼数字是指位数为偶数的数字,可以由一堆数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中选取的数字可以任意排列。以两个0结尾的数字是不允许的
例如,下列数字都是吸血鬼数字
1260=21*60 1827=21*87 2187=27*81
写一个程序,找出所有4位的吸血鬼数字
import java.util.Arrays;
/**
* 41*35=1435
* 51*30=1530
* 60*21=1260
* 81*27=2187
* 86*80=6880
* 87*21=1827
* 93*15=13 ...
数学黑洞6174
已知:一个任意的四位正整数。将数字重新组合成一个最大的数和最小的数相减,重复这个过程,最多七步,必得6174。即:7641-1467=6174。将永远出不来。
求证:所有四位数数字(全相同的除外),均能得到6174。输出掉进黑洞的步数。
public class NumberBlackHole {
public static void main(String[] args) {
getStep(1345);
}
public static int getStep(Integer num){
int count=0;//计数
whil ...
用户输入数据n,打印n行杨辉三角,最节约内存的方式打印
public class YangHui {
public static void main(String[] args) {
printYH(5);
}
public static void printYH(int num){
int[][] array=new int[num][];
for(int i=0;i<array.length;i++){
array[i]=new int[i+1];
for (int j = 0; j < array[i].length; j++) { ...
一个斐波那契数列是由数字1,1,2,3,5,8,13,21,34等等组成,其中每一个数字(从第三个数字开始)都是前两个数字的和,写一程序,打印出此数列
public class Test {
public static void main(String[] args) {
method(10);
}
public static void method(int num){
int a=1,b=1;
for(int i=0;i<num;i++){
System.out.print(a);
if(i!=num-1){
System.out. ...
有偶数支足球队进行单循环比赛,请按照指定算法打印每轮的对阵形势
public class ArrayDemo3 {
public static void main(String[] args) {
planGame();
}
public static void planGame(){
String[] teams=new String[]{"T1","T2","T3","T4"};
for (int i = 1; i < teams.length; i++) {
Syst ...
节约内存的方法打印一个等边三角型 用"*"填充
public class ArrayDemo2 {
public static void main(String[] args) {
getS(5);
}
public static void getS(int num){
String[][] array=new String[num][];
for(int i=0;i<array.length;i++){
array[i]=new String[num+i];
for(int j=0;j<array[i].l ...
写两个方法,其中一个方法可以把某个整数插入到整型数组的特定位置,数组中原有元素向后移动 另一个方法能够从整形数组中特定位置删除掉一个元素,数组中原有元素向前移动
import java.util.Arrays;
import java.util.List;
public class ArrayDemo1 {
static String[] array={"1","2","3",null,"5"};
static int index=array.length;
public static void m ...